Laravel Homestead 支援 PHP 7

Laravel PHP Framework

很高興看到 LaravelHomestead 推出 PHP 7 的版本,假如您還在使用 PHP 5.x 的 homestead box,請參考本篇教學,或者是參考線上文件來升級。底下是這次升級的兩個步驟,第一個就是重新下載新的 PHP-7 box 檔案,第二步驟修改 Homestead.yaml設定檔,請參考如下:

Continue reading “Laravel Homestead 支援 PHP 7”

Laravel Presenter 在 Controller 的使用

Laravel PHP Framework

Laravel Auto Presenter 是一套用在 view 裡的 decorates objects,搭配資料庫時,如果有需要組合或整合欄位來顯示相關資訊,這套就非常適合使用在 Laravel View 裡,如果不是透過 Laravel Auto Presenter,開發者也可以利用 Laravel Accessors & Mutators 來實現這方法,只是這要寫在 Model 層,寫法如下,此做法寫起來蠻亂的,而且也並不是每個地方都需要擴充這些欄位。

/**
 * The accessors to append to the model's array form.
 *
 * @var array
 */
protected $appends = [
    'is_twitter',
];

/**
 * Get the user's is_twitter flag.
 *
 * @param  string  $value
 * @return string
 */
public function getIsTwitterAttribute()
{
    return (bool) ($this->attributes['options'] & self::$OPTIONS['is_twitter']);
}
Continue reading “Laravel Presenter 在 Controller 的使用”

Laravel Homestead 2.1.5 版本將不再刪除舊有資料庫

Laravel PHP Framework

Laravel Homestead 提供一套虛擬機器,讓開發者可以快速將 Laravel 環境架設起來。在 2.1.5 版本以前,要新增新的 Site 都會透過修改 yaml 設定檔後,直接下 homestead provision 來重新啟動 VM,問題就來了,此指令會將現有的 Database 全部刪除,重先建立一次,這樣開發者就要重新跑 DB Migration 才有資料。此問題作者聽到了,所以在 2.1.5 版本作者拿掉 Drop Database 指令,而是透過 CREATE DATABASE IF NOT EXISTS 來取代原有指令 (下面程式碼),這樣開發者就不用擔心資料會被刪除。當然作者也很貼心,如果開發者想要清除整個資料庫,一樣可以透過指令 homestead destroy 來將整個 VM 刪除即可。

// 取代原有 mysql -uhomestead -psecret -e "DROP DATABASE IF EXISTS \`$DB\`";
mysql -uhomestead -psecret -e "CREATE DATABASE IF NOT EXISTS \`$DB\` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci";

詳細的資訊可以參考 official documentation,或參考最近修改的 commit 內容

Laravel 5 PHP Framework 釋出

Laravel PHP Framework

很開心看到 Laravel 作者 Taylor Otwell 能在年前公開 Laravel 5 is Released!,這次連官網也順道一起改版了,經過幾天努力,Laravel Taiwan 也將官網換成新的了,這次 Laravel 5 共釋出 22 個新功能,前端部份也導入新功能叫做 Elixir,另外也將 Scheduler 納入主功能了,非常開心能看到作者開發了好多新功能。由於 Laravel 5 出來了,那接下來就是要翻譯新的文件,請大家可以到 Hackpad 登記翻譯,翻譯完成後送 PR 到 Laravel Taiwan documentation Repo,基本上翻譯過 4.2 版本,把差異性部份補上即可。

Laravel 5 新功能可以直接到 Laracastslaravel 5 Fundamentals 教學影音。

加速 PHP Composer 執行效率

logo-composer-transparent

早上剛起床就看到 DK 發表一篇增加一行程式碼讓 PHP Composer 效率爆增Composer 是 PHP 套件管理工具,現在各大 Framework 都用 Composer 管理套件相依性,但是最讓人擔憂的是,每次執行 composer install 或 update 的時候,機器就會開始哀號,然後等了很久指令才執行完成。今天看到 Github 上 Composer 為了改善執行效率及時間就把 gc disabled。這 commit 引發了很多人迴響,超多搞笑留言圖片。底下有兩種方式可以加速 Composer 執行效率

Continue reading “加速 PHP Composer 執行效率”

Laravel Homestead 開始支援 HHVM

Laravel PHP Framework

Laravel News 看到這篇 Laravel Homestead – Now with HHVM,也就是官方 Homestead 開始支援 HHVM,現在可以直接透過底下指令升級 Box:

$ vagrant box update

版本會從 0.1.8 升級到 0.1.9,升級過程需要一段時間,最後要啟用 HHVM 服務,請在 Homestead.yaml 加入底下設定

sites:
  - map: homestead.app
    to: /home/vagrant/Code/Laravel/public
    hhvm: true

不用煩惱架設 HHVM 環境了,對開發者真是一大幅音。