Joomla jconsole 開發應用

如果在執行指令時有需要其它額外的指令或選項,在 JConsole 可以這樣做:
[cc lang=”bash”]
php cli/console hello who where -a
[/cc]

鍵入 php cli/console hello -h 時會列出以下的 help:
qweqwe
其中紅線所指的指令格式 [command] 為 Argument , [option] 當然不用說就是 option。
Continue reading Joomla jconsole 開發應用

在 Joomla 使用 SQL 字串的 IN()

一般說來要用 WHERE “IN()” 這個功能來選出指定的資料,都會寫這樣的程式碼來組 SQL 字串。
[cc lang=”php”]
//原資料如下
$filterCity = Array
(
[0] => 臺北市
[1] => 臺中市
[2] => 宜蘭縣
[3] => 花蓮縣
)

//用 implode 組成 IN 的 SQL 字串
$inCity = “‘” . implode(“‘, ‘”, $filterCity) . “‘”;
$sqlWhereCity = sprintf(“city_title IN(%s)”, $inCity);

[/cc]

在 Joomla 中可以這樣直接寫。

[cc lang=”php”]

//在這因為是字串,所以必需要借用 getDbo 的 quote 為陣列成為字串時加上單引號
$db = \JFactory::getDbo()
$filterCity = $db->quote($filterCity);

//如果要選的資料是純數字的 ID 其實只要這行即可
$sqlWhereCity = ‘`city_title`’ . new \JDatabaseQueryElement(‘IN()’, $filterCity);
[/cc]

另外,如果使用了 Windwalker 還可以這樣寫。

[cc lang=”php”]
//如果在 name space 下要在該檔最前面引入 Windwalker 的程式組
use Windwalker\Compare\InCompare;

$sqlWhereCity = (string) new InCompare(‘`city_title`’, $filterCity);
[/cc]

PHP 效率寫法

原來寫法是這樣
[cc lang=”php”]
type == ‘individual’)
{
$buttonStyle = ‘btn-info’;
}
elseif($item->type == ‘resident’)
{
$buttonStyle = ‘btn-warning’;
}
else
{
$buttonStyle = ‘btn-inverse’;
}
echo $buttonStyle;
?>
[/cc]

後來看到這樣有效率的寫法

[cc lang=”php”]
$styles = array(‘individual’ => ‘btn-info’, ‘resident’ => ‘btn-warning’);
$buttonStyle = (isset($styles[$item->type]) ? $styles[$item->type] : ‘btn-inverse’;
echo $buttonStyle;
[/cc]

把要檢查的值都放在 Array 裡,再將 Array 裡的鍵值做比對轉換出來的值跟當初用 if 判斷是一樣的效果的。

PHPConf Taiwan 2013議程簡報資訊

556607_668734586472080_1556986640_n

PHPConf Taiwan 到今年是第三屆了,時間過的很快,我也連續參加了三屆。除了去認識親友之外,也聽了不少還不錯的議程,在這裡先收集一下講師有釋出的簡報,然後利用空閒時間來試一下這些議程中提到的技術。

矛盾大對決 – 能入侵任何網站的駭客 vs. 絕對不會被入侵的網站

https://speakerdeck.com/p8361/phpconf-2013-mao-dun-da-dui-jue

Evernote SDK for PHP 你所不知道的 Evernote

http://apptrunks.com/phpconf.html

用 Gearman 與 CodeIgniter 打造 PHP 排程系統

http://blog.wu-boy.com/2013/10/2013-phpconf-introduction-to-gearman-in-php/

5 Easy Ways To Speed Up Your Web Application

http://2fb70562.s3-ap-southeast-1.amazonaws.com/phpconf-taiwan.html#slide-0

PHP 也是可以很 event – 用 PHP 打造一個 Realtime Web

PHPConf 2013 php 也是可以很 event

PHP, Perl, Python, Ruby 的比較

這一年換新的地方上班學到很多。

從 PHP 到 Ruby 。雖然沒有學的很透徹。但接下來又要學 Python 了 。

雖然程式的邏輯都差不了多少,而每種語言都有它不同的寫法。

但學習新的東西是很令我超級興奮的!

這四種語言的差異表:

Interpreted Languages: PHP, Perl, Python, Ruby (Sheet One)

這幾天要先學好 Python 的語法,並用 PHP 熟悉的方法去學習。

Apache 的 mod_rewrite

最近正想要重寫一套屬於自己實用的 PHP 框架,第一步重要的就是將 PHP 的 Reuqets 寫成一個有用的網址,讓這個新框架在未來變的比較實用。

如果你現在寫的PHP程式還在這網址寫成這樣:
[cc lang=”bash”]
http://www.aaa.cvom/news.php?id=12345
[/cc]
或是在寫購物車時是這樣寫:
[cc lang=”bash”]
http://www.aaa.com/product.php?id=123123
[/cc]
下單的購物車是這樣寫:
[cc lang=”bash”]
http://www.aaa.com/shoppingcart.php
http://www.aaa.com/pay.php
http://www.aaa.com/payok.php
[/cc]
告訴你,這樣寫實在是爛透了!!
Continue reading Apache 的 mod_rewrite

PHPConf Taiwan 2011 議程講師Slides

台灣PHP界十年來第一次的開發者年會,在中央研究院人社館會議室舉辦,免費參加,但席次有限。這次的年會邀請自由軟體社群的大大們分享PHP開發的最佳方案以及業界開發的辛酸血淚史 ~ ^^”

議程中講師們分享PHP之中最熱門的Symfony與CodeIgniter的開發框架以及後來演變成Framework的內容管理系統Joomla!。內容精彩可期。

本年會已在11/12圓滿結束,以下的資訊都會依照現場的研討議程提供講師們的投影片網址跟相關資訊連結。

官方網址:http://phpconf.tw/2011
Continue reading PHPConf Taiwan 2011 議程講師Slides

PHP 轉換 Ruby

資深的PHP開發者對於新語言的轉換一直是很痛的很痛。(習慣以往的寫法。)

多如牛毛的PHP開發工程師都是從小就開始 copy & past 寫網站。(初學者好入門。)

公司所聘請的PHP開發員據說薪水都一直很沒有價值。(因為人數太多,所以市場機制下越變越沒價值)

而且很多的網頁美工設計師到後來都變成PHP程式設計師。(沒有MCV觀念)

因此,有些清醒的PHP人都因而轉換跑道。(跑去賣雞排)

在這裡俺以過來人介紹你一個好東西,就是升格為 Ruby on Rails Programer 。當然,這個玩意的學習曲線一開始是非常陡峭的,而且也要有非常好的非常清醒的很有邏輯思考的腦袋才能爬過初學者高牆。

工欲善其事必先利其器,這個網站 PHP TO RUBY 就是你減輕痛苦的好工具,PHP的最大優點就是有內建數百支的強大函式庫供使用。但是在學習轉換 Ruby on Rails 時也是會用到很常見的陣列與字串函式或是日期顯示函式。若不知道在 Ruby 用啥函式來解決,在網海茫茫之下,根本就是汪洋中的一條船。

Continue reading PHP 轉換 Ruby