相信大家對 Laravel 都很熟悉,但是初學者或是新進同事要快速入門 Laravel 最大的門檻就是該如何在短時間內在本機電腦快速安裝好公司專案。這時候使用 Laradock 就是一個最佳時機,透過 Docker 容器話,快速切換 PHP 版本,或者是安裝額外的服務像是 MySQL, MariaDB, phpMyAdmin 或 nginx 等服務,讓本機端不受到自訂安裝套件的困擾,用完隨時關閉,完全不會影響到電腦環境。底下我會介紹使用 Laradock 該注意的事情。完整詳細的操作步驟可以直接看 Youtube 影片。
[Read More]台灣第一屆 Laravel 研討會
這次很高興擔任第一屆 Laravel 台灣研討會講者,會議當天中午才到現場,我是兩點分享的議程,在整天聽下來及最後的案例討論,聽到最多的都是原本從 CodeIgniter 架構換到 Laravel 上面,身為 CodeIgniter 的維護人員的我,聽到是蠻開心的,在 Laravel 還沒出來前,大家都是選用這輕量級的 CodeIgniter。
[Read More]用 Docker 取代 Laravel Homestead 開發環境
新手第一次接觸 Laravel,我都會推薦使用 Homestead 來解決開發環境的困擾,但是我發現 Homestead 對於第一次接觸 Virtualbox 及指令的初學者,設定還是比較複雜,造成很多新手光是在這邊就卡關了,有沒有什麼辦法可以解決這煩人又複雜的 Homestead 設定,剛好今天在 Github 上看到 laraedit-docker 專案,此專案是把 Homestead 轉換成用 Docker 來跑,這樣只要您的環境有支援 Docker,就可以快速設定好環境含 MySQL, Redis …等
[Read More]為什麼我選擇使用 Laravel Framework?
根據上次寫了一篇如何選擇 Web Framework,本篇寫了為什麼我選擇 Laravel 這套 PHP Framework。底下是對於 Laravel 我選擇的一些看法,大家可以參考看看。要選一套好的 frmaework 真不容易,要考慮團隊成員技能,及後續的教育訓練等 …
[Read More]Laravel 搭配 Google, Facebook, Twitter 第三方 OAuth 認證
Laravel 提供了 Socialite 套件讓開發者可以快速整合 Facebook, Twitter, Google, LinkedIn, GitHub and Bitbucket 等第三方服務的登入認證,我挑了大家最常使用的 Facebook, Twitter, Google 來整合,用 Google 跟 Twitter 需要注意一些小細節,首先是 Google 部分,如果大家去 Developer console 把 Oauth Callback 寫完,注意的是,這樣是不夠的,要去把 Contacts API
及 Google+ API
啟用,才可以真正使用 Google OAuth 認證服務。
Laravel Homestead 搭配 phpMyAdmin Docker
相信大家對於 Laravel 推出的 Homestead 開發環境不陌生,本篇不會教學使用 Homestead,直接看繁中官網的教學就可以完成了,Homestead 可以幫助開發者快速架設好 Laravel 環境,當然 Homestead 也適用於 CodeIgniter 的開發,因為兩套 Framework 的環境是一樣的,Homestead 開啟 VM 後,會自動將 Local port 對應到 VM port 如下
- SSH: 2222 → Forwards To 22
- HTTP: 8000 → Forwards To 80
- HTTPS: 44300 → Forwards To 443
- MySQL: 33060 → Forwards To 3306
- Postgres: 54320 → Forwards To 5432
Laravel 50 個小技巧 + Laravel 5.2 新功能
在學習 Laravel 階段,一定會天天看 Laravel Documentation,但是有很多小技巧是在文件內沒寫出來的,網路上找到這篇 50 Laravel Tricks in 50 Minutes,寫了 50 個 Laravel 小技巧,包含了 IoC Container, Blade, Eloquent, Middleware, Routing, Commands, Queues, Events, Caching 等模組。
[Read More]Laravel Homestead 支援 MySQL 5.7 和 Node 5.0
昨天半夜看到 Laravel News 發佈支援 MySQL 5.7 和 Node 5.0 的消息,作者已經將 Homestead Vagrant box 更新上最新版了,如果你是用 PHP7 版本,請更新到 0.1.1 (laravel/homestead-7 branch),如果非用 PHP 5.7 請更新到 0.3.3 版本,此 Box 更新兩個項目,就是支援 MySQL 5.7 版本,及 NodeJS 5.0 版本,已經非常新的版號,透過底下指令就可以更新 Local 端的 Box Image:
$ vagrant box update
MySQL 5.7 版本支援了 JSON Format 真是太令人振奮了,另外此 Box 也是為了將來要釋出 Laravel 5.2 版本搭配用。最後補上升級後版本截圖
Laravel Homestead 支援 PHP 7
很高興看到 Laravel 的 Homestead 推出 PHP 7 的版本,假如您還在使用 PHP 5.x 的 homestead box,請參考本篇教學,或者是參考線上文件來升級。底下是這次升級的兩個步驟,第一個就是重新下載新的 PHP-7 box 檔案,第二步驟修改 Homestead.yaml
設定檔,請參考如下:
Laravel Presenter 在 Controller 的使用
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’]); }