Category Archives: Laravel

[Laravel]Blade + AngularJS

在 Laravel 的 Blade 中如果同時使用 AngularJS 會造成衝突,因為 parser 的標籤都是由兩個大括號組成,因此解決的方法就是選擇一個替換 parser 標籤

AngularJS

Laravel

Continue Reading

[Laravel]Blade

在一個完整的 Framework 中,Template enigne 算是標準配備,而 Blade 就是 Laravel 提供的 Template engine

在 Laravel 中,使用 Blade 時必須在 View 的檔名加上 blade.php

Default Layout

View 架構

Route

includes includes部份單純只是放可以reuse的HTML,例如head includes/head.blade.php

layouts layouts樣版 layouts/default.blade.php

pages pages/home.blade.php

其他使用方法

parent parent用法適合拿來輸出一些結尾的東西,等該section中的東西都結束後再輸出

Overwrite Overwrite 原本的資訊

Default Value yield 也可以指定Default Value

Controller Layouts

變數、條件判斷式、迴圈

使用方法 Controller

View

其他操作 條件運算子

跳脫 Blade 解析

Continue Reading

[Laravel]傳送變數給Layout

這應該是所有 Framework 都可能會遇到的問題

有些可以 reuse 的東西會當成Layout,但偏偏Layout中有些東西是動態的(例如右上角顯示使用者資訊的地方)

Controller

Continue Reading

[Laravel]Artisan

Artisan 是 Laravel 提供的命令列程式,它提供了許多方便快速的指令,讓專案開發上更為方便

基本指令

建立Console 建立自訂Console

建立的Class檔案預設會放在app/Console/Commands/SendEmails.php 建立完成後要替Class加上 signature 及 description 屬性

註冊 app/Console/Kernel.php

檢查是否自訂成功,成功後可以看到自訂的command在list中

Command 執行 app/Console/Commands/SendEmails.php

自訂argument 和 options app/Console/Commands/SendEmails.php

常用method

Continue Reading

[Laravel]Controller

在request對應到Route之後,會把任務交給Controller(控制器)處理,由Controller決定邏輯以及回傳什麼樣的view。

Laravel 的 Controller 中也提供了許多方便的功能

Basic Controllers app/Http/Controllers/UsersController.php

app/Http/routes.php

利用 Artisan 建立 Controllers

RESTful Controllers app/Http/routes.php

app/Http/Controllers/UsersController

app/Http/routes.php

Resource Controller的執行動作

Verb Path Action Route Name GET /resource index resource.index GET /resource/create create resource.create POST /resource store resource.store GET /resource/{resource} show resource.show GET /resource/{resource}/edit edit resource.edit PUT/PATCH /resource/{resource} update resource.update DELETE /resource/{resource} destroy resource.destroy

Handling …

Continue Reading

[Laravel]Eloquent ORM 基礎使用

Eloquent 是Laravel提供的一個ORM,每張資料表都會透過相對應的Model進行操作

1.DB config 在使用 Eloquent ORM 之前需要先在 .env 設定DB資訊 (Laravel 4 可以在 app/config/database.php 設定DB資訊)

2.使用方法 操作資料表之前必須在 app/Models 裡面建立Model(預設Model是建立在app底下,個人習慣再弄個Model目錄分開存放) Member.php

這邊有兩件事注意,table 跟 primaryKey 是可以省略的 Eloquent 預設的資料表名稱會去抓取class名稱小寫的複數單字,以Member為例,會去抓取members 預設的 primaryKey會去抓取 id 這個欄位

另外也可以使用 Artisan 建立 Model

3.操作資料表 Model建立好之後可以直接在Controller使用 (Eloquent 也可以使用 Query Builder 的用法)

4.新增、修改、刪除 注意:Elquent 預設在新增修改時會更動updated_at和created_at兩個欄位。如果要省略這兩個欄位必須在Model中調整timestamps Model

5.Mass Assignment Eloquent 提供快速大量新增或更新資料,不過可以存取的欄位必須透過fillable(白名單) 或 guarded(黑名單)控制

Model

透過 create method …

Continue Reading

[Laravel]Route

Laravel 的 Route 中提供許多方法可以自由控制Routing

Basic Routing

注意:以下為Laravel 4 的 filter,在Laravel 5 已經使用 Middleware取代

Route Filters 可以在app/filters.php 任意加入自己想要的Filters

app/routes.php

如果執行 http://domain/user?age=255 就會出現You are over 200 years old!

Multiple Filter

Use Controller

Route’s Name

Continue Reading

[Laravel]Laravel 4 初探

Laravel 是最近很火紅的PHP Framework 它提供了幾個方便的東西

Eloquent ORM: 簡單操作資料庫的ORM Authentication: 內建完整會員認證機制 Artisan: Laravel 提供的命令列程式,用來安裝一些模組還有產生專案的金鑰 Bundles: Laravel 的模組化功能,可以自行開發對應的 Bundle 來增加功能 Auto Loading Restful Controller 1.安裝

利用composer安裝

基本檔案介紹 預設的檔案設定路徑

app/config/app.php: 紀錄debug、url、timezone、key和Autoloaded Service Providers的地方 app/storage: 紀錄暫存檔的目錄 app/commands: 紀錄自訂 Artisan command的目錄 app/routes.php: 控制 Route 的檔案 app/filters.php: 控制 Route Filter 檔案 app/controllers: Controller 資料夾 app/view: View 資料夾 bootstrap/paths.php: 設定基本資料夾路徑的檔案(app,public…etc) 2.設定

Exception 安裝完 …

Continue Reading