Indonesian (Bahasa Indonesia) translation by Dika Budiaji (you can also view the original English article)
Saya harus mengakui: pada satu titik, saya merasa agak kecewa pada bahasa PHP. Sejumlah artikel PHP hater berputar-putar seperti viru s web, dan beberapa frameworks unggulan, seperti CodeIgniter, cepat tumbuh basi. Sementara itu, Ruby on Rails tampaknya memimpin pak, inovasi dan kemudahan pembangunan. Sebagai saat pindah, saya menemukan diri meraih toolbelt Ruby saya lebih dan lebih.
Namun, kemudian, suatu hari, saya menemukan sebuah framework baru, elegan, disebut Laravel. Pada awalnya, aku skeptis akan seperti clone Sinatra yang akan cepat ditinggal ke dalam ketiadaan, sebagai lead pengembang ditinggalkan. Tapi masih, minggu demi minggu, Feed jaringan sosial di tengah kebingungan, memuji Laravel's pembacaan. "apa mungkin," saya pikir ke diri sendiri, "bahwa PHP akhirnya memiliki framework yang benar-benar modern?"



Pelajari lebih lanjut tentang Laravel di https://laravel.com
Tidak lagi adalah saya bersedia untuk duduk di pinggir; sudah waktunya untuk menggali. Setahun kemudian, dan aku adalah salah satu evangelist yang terbesar. Laravel benar-benar membuat PHP menyenangkan lagi! Bahkan lebih baik, saya tidak lagi percaya bahwa PHP selamanya ditakdirkan untuk situs pribadi sebagian besar dan WordPress blog yang jelek. Nope; pada kenyataannya, itu adalah penulis ini kepercayaan itu, berkat Laravel Composer, dan PHP 5.5, kita akan mengalami renaissance berikutnya dari bahasa server-side paling populer
Untuk menginstal versi pengembangan terbaru Laravel (v4), Anda harus terlebih dahulu menginstal komposer. Kemudian, hanya clone repo dan menginstal dependensi.
git clone git://github.com/illuminate/app.git myApp
dancomposer install
. sekarang ready to go!
Eloquent
Sebagian besar pengembang PHP mulai perjalanan mereka dengan bersarang tak terhitung keturunan SQL langsung ke unreadable PHP code. Tak perlu dikatakan, termasuk yang paling dasar dari website, hal ini dengan cepat menyebabkan kekacauan unmaintainable.
Ingat ketika Anda pertama kali mendengar tentang Ruby on Rails' ActiveRecord? Yah, pada akhirnya PHP end of the world, Eloquent adalah implementasi premier.
Perlu beberapa contoh?
1 |
// Fetch all tasks
|
2 |
$tasks = Task::all(); |
3 |
|
4 |
// Fetch the task with an id of 1
|
5 |
$task = Task::find(1); |
6 |
|
7 |
// Update a task
|
8 |
$task = Task::find(1); |
9 |
$task->title = 'Put that cookie down!'; |
10 |
$task->save(); |
11 |
|
12 |
// Create a new task
|
13 |
Task::create([ |
14 |
'title' => 'Write article' |
15 |
]);
|
16 |
|
17 |
// Delete a task
|
18 |
Task::find(1)->delete(); |
Orang-orang, hal ini tidak mungkin untuk menulis lebih mudah dibaca kode dalam PHP! Sekarang akan satu hal jika Eloquent hanya memungkinkan Anda untuk melakukan operasi CRUD dasar di table, tetapi maksudnya bukan seperti itu.
Mempertimbangkan relationship tabel, seperti user dan tugas nya masing-masing. Di Laravel, setelah menetapkan pengaturan untuk setiap model, kita dapat dengan mudah menangani relationship one-to-one relationship, atau asosiasi untuk hal itu. Berikut adalah beberapa contoh untuk mengasah selera Anda.
1 |
// Get all tasks by the author with an id of 1
|
2 |
$tasks = User::find(1)->tasks; |
3 |
|
4 |
// Get the author of a task
|
5 |
$author = Task::find(5)->user()->username; |
6 |
|
7 |
// Insert a new task by author
|
8 |
$task = new Task([ title: 'Go to store.' ]); |
9 |
User::find(1)->tasks()->insert($task); |
Hal ini tidak peregangan untuk mempertimbangkan Eloquent menjadi implementasi ActiveRecord terbaik dalam bahasa PHP.
Composer Packages
Dimulai dengan Laravel 4 (saat ini dalam Alpha), keseluruhan framework adalah modular dan tersedia sebagai individual composer package
Composer adalah packaging system untuk PHP yang mirip dengan PEAR, tetapi lebih baik. Itu membuat proses manajemen ketergantungan semudah mungkin.
Pikirkan ekosistem framework yang sudah ada. Sekarang, Anda harus hidup dengan setiap kerangka inti set fitur. Anda tidak dapat memilih, mengatakan, gunakan Eloquent dalam aplikasi CakePHP. Seperti yang dapat Anda bayangkan, kebenaran ini telah menyebabkan proses gila menciptakan kembali kemudi berulang-ulang.
Ladies and Gentleman, masa depan PHP adalah satu modular. Mengapa menginstal framework kembung, besar, ketika Anda hanya memerlukan beberapa yang dibutuhkan? Yah, segera, Anda tidak perlu. Hanya memerlukan Eloquent dalam sebuah proyek sederhana? Baik - tidak masalah sama sekali! Hanya menginstal melalui komposer, dan melanjutkan!
Jadi, jika kita sedang moving ke package-based, modular PHP dunia, Bagaimana Laravel menjadi paling tepat? Nah, pikirkan hal ini sebagai koleksi telah ditetapkan paket, terbungkus busur! Bahkan lebih baik, jika Anda perlu memperbarui ke versi terbaru dari framework, itu semudah menjalankan composer update.
Sebagai contoh ini memberikan fleksibilitas, mari kita tambahkan mockery Perpustakaan pengujian untuk aplikasi Laravel. Dimulai dengan Laravel 4 proyek baru, dan mengedit file composer.json
nya memerlukan Mockery.
1 |
{
|
2 |
"require": { |
3 |
"illuminate/foundation": ">=1.0.0", |
4 |
"mockery/mockery": "dev-master" |
5 |
},
|
6 |
"autoload": { |
7 |
"classmap": [ |
8 |
"app/controllers", |
9 |
"app/models", |
10 |
"app/database/migrations", |
11 |
"app/tests/TestCase.php"
|
12 |
]
|
13 |
}
|
14 |
}
|
Lihat Packagist.org untuk daftar paket composer yang tersedia, serta petunjuk instalasi.
Sekarang bahwa kita telah diberitahu composer bahwa aplikasi kita membutuhkan Mockery, kita dapat menginstal dependensi berlaku.
1 |
composer update |
Dan hanya itu! Kita sekarang dapat menggunakan Mockery dalam pengujian kami. Ini adalah kekuatan composer dan Laravel 4 di tempat kerja! Kami memiliki roda; Mari kita berhenti membuat yang baru! Ratusan demi ratusan paket tersedia melalui Packagist.org.
1 |
<?php
|
2 |
|
3 |
use Mockery as m; |
4 |
|
5 |
class ExampleTest extends PHPUnit_Framework_TestCase {} |
Routes
Paling awal pengembang PHP tidak akrab dengan apa pun selain yang paling natual sistem rute. Membuat tree direktori untuk mencocokkan Anda URI yang diinginkan, dan melanjutkan. Sebagai contoh, menambahkan sebuah file index.php
ke direktori berikut: blog/admin/
, dan, sekarang, Anda dapat mengaksesnya dengan browsing ke: localhost:8888/blog/admin/index.php.
Mudah! Well, mungkin pada mulanya; tetapi Anda mungkin akan menemukan bahwa Anda membutuhkan lebih banyak fleksibilitas dan kontrol atas rute yang dipicu dalam aplikasi Anda.
Laravel mengambil pendekatan yang sangat sederhana dan mudah digunakan untuk perutean. Sebagai contoh, mari kita menulis rute yang diperlukan untuk menampilkan pemandangan untuk sebuah profil pengguna.
1 |
Route::get('users/{id}', function($id) { |
2 |
// find the user
|
3 |
$user = User::find($id); |
4 |
|
5 |
// display view, and pass user object
|
6 |
return View::make('users.profile') |
7 |
->with('user', $user); |
8 |
});
|
Sekarang, ketika permintaan pengguna example.com/users/1
, tampilan users/profile.php
akan diberikan.
Selain itu, kita dapat menggunakan kontroler tradisional daripada handle logic
1 |
Route::get('users/{id}', 'Users@show'); |
Sekarang, Controllers/Users.php
akan bertanggung jawab untuk render view - khusus metode show
.
1 |
<?php
|
2 |
|
3 |
class UsersController extends Controller { |
4 |
/**
|
5 |
* Display the specified resource.
|
6 |
*/
|
7 |
public function show($id) |
8 |
{
|
9 |
// find the user
|
10 |
$user = User::find($id); |
11 |
|
12 |
// display view, and pass user object
|
13 |
return View::make('users.profile') |
14 |
->with('user', $user); |
15 |
}
|
16 |
}
|
Easy Authentication
Hampir semua aplikasi web memerlukan beberapa bentuk otentikasi. Laravel menyediakan sederhana, namun mudah digunakan antarmuka untuk otentikasi pengguna.
Mulailah dengan membuat tabel users
dengan bidang yang diperlukan untuk username
dan password
. Ingat: ini adalah kasus penggunaan sempurna untuk migrasi!
Laravel dapat kemudian attempt
untuk login pengguna - mungkin didasarkan pada nilai-nilai yang diberikan dari form
Berikut adalah contoh dasar, minus aspek validasi.
1 |
Route::post('login', function() |
2 |
{
|
3 |
$credentials = array( |
4 |
'username' => Input::get('username'), |
5 |
'password' => Input::get('password') |
6 |
);
|
7 |
|
8 |
// perform validation
|
9 |
|
10 |
if ( Auth::attempt($credentials) ) |
11 |
{
|
12 |
// Credentials match. Logged in!
|
13 |
return Redirect::to('admin/profile'); |
14 |
}
|
15 |
});
|
Perhatikan bahwa, di belakang layar, Laravel akan secara otomatis disediakan password hash, dan membandingkannya terhadap apa yang disimpan di tabel
users
.
Dengan asumsi bahwa cocok kredensial pengguna, ID pengguna akan disimpan dalam sesi, dan pengguna akan login. Atas permintaan berikutnya, Anda dapat mengambil nama pengguna saat ini login pengguna dengan:
1 |
$user = Auth::user()->username; |
Mengirim Email
Akui: mengirim email melalui aplikasi Anda adalah selalu lebih rumit daripada yang seharusnya. Tidak lagi dalam Laravel 4!
Dibangun di atas paket SwiftMailer populer, Anda akan sekarang menemukan file config/mail.php
baru dalam aplikasi Anda. Ini adalah di mana Anda dapat menentukan kredensial diperlukan untuk penyedia email Anda. Berikut adalah dilucuti bawah versi apa yang Anda akan temukan:
1 |
<?php
|
2 |
// app/config/mail.php
|
3 |
|
4 |
return array( |
5 |
'host' => 'smtp.example.com', |
6 |
'port' => 2525, |
7 |
'from' => array('address' => null, 'name' => null), |
8 |
'encryption' => 'tls', |
9 |
'username' => null, |
10 |
'password' => null, |
11 |
);
|
Cukup mengganti nilai dengan dari email server, sesuai.
Selanjutnya, kita perlu view untuk email. Mari kita membuat satu, disebut welcome.blade.php
, yang akan digunakan ketika anggota yang baru mendaftar untuk website penggemar Justin Bieber.
1 |
<?php
|
2 |
// app/views/emails/welcome.blade.php
|
3 |
|
4 |
<html> |
5 |
<body> |
6 |
Hi there, {{ $user->name }}. Thanks again for signing up for the latest Justin Bieber news! We'll look forward to seeing you around. |
7 |
|
8 |
Thanks, |
9 |
Management
|
10 |
</body> |
11 |
</html> |
Dengan segala sesuatu sudah di atur, mari kita setup route yang diperlukan contoh, dan mengirim email.
1 |
Route::get('/', function() |
2 |
{
|
3 |
$user = User::find(1); |
4 |
$data = [ 'user' => $user ]; |
5 |
|
6 |
// email view, data for view, closure to send email
|
7 |
Mail::send('emails/welcome', $data, function($message) use($user) |
8 |
{
|
9 |
$message
|
10 |
->to($user->email) |
11 |
->subject('Welcome Bieber Fan!') |
12 |
->attach('images/bieberPhoto.jpg'); |
13 |
});
|
14 |
|
15 |
return 'Welcome email sent!'; |
16 |
});
|
Cukup sederhana, ya? Kita ambil pengguna baru dari tabel, dan kirim email ke email address user yang terkait Berkat fungsionalitas SwiftMailer, melakukan tindakan yang tampaknya rumit, seperti melampirkan file, adalah mudah! Sekarang, setiap anggota yang baru menerima foto Justin Bieber saat pendaftaran. Sempurna!
BFFs dengan Backbone



"Backbone menyediakan struktur untuk kode spaghetti berantakan!"
Laravel 4 membuat proses menciptakan RESTful api menjadi sederhana semanusiawi mungkin. Kuncinya adalah dalam bagaimana, secara default, JSON akan dikembalikan dari route.
Mari kita bayangkan bahwa kita perlu untuk mengembalikan sebuah daftar dari semua pengguna sebagai JSON. Yah, Chuck, kita dapat mencapai itu dalam satu baris code.
1 |
Route::get('users', function() |
2 |
{
|
3 |
return User::all(); |
4 |
});
|
Jika Anda menjalankan route ini, sedikit JSON akan ditampilkan, seperti:
1 |
[{"id":1,"username":"jeffrey@example.com"},{"id":2,"username":"joe@example.com"}] |
Bertanya-tanya mana field
password
? Di Laravel, dalam table terkait model, kita dapat menentukan, melalui$hidden
properti, bidang yang harus di hidden dari JSON output.
Sekarang, dengan sebuah perpustakaan JavaScript, seperti backbone, kita dapat mengambil data ini dengan mudah.
1 |
var User = Backbone.Model.extend({}); |
2 |
var UsersCollection = Backbone.Collection.extend({ |
3 |
model: User, |
4 |
url: '/users' |
5 |
});
|
6 |
|
7 |
var users = new UsersCollection; |
8 |
users.fetch(); |
9 |
|
10 |
users.toJSON(); // [Object, Object, Object] |
Bagaimana mengambil satu user? Yah, kita pertama perlu men-setup Laravel route yang tepat:
1 |
Route::get('users/{id}', function($id) { |
2 |
return User::find($id); |
3 |
});
|
Seperti yang telah kita pelajari, ini akan mengembalikan JSON use yang diminta (minus password). Selanjutnya, kita membuat model Backbone, dan mengambil data.
1 |
var User = Backbone.Model.extend({ |
2 |
urlRoot: '/users' |
3 |
});
|
4 |
|
5 |
var user = new User({ id: 1 }); |
6 |
user.fetch(); // { id: 1, username: 'jeffrey@example.com' } |
Perhatikan bagaimana beban pekerjaan adalah di sisi klien? Kode Laravel kami adalah sebagai barebones mungkin.
Migrations
Jika Anda secara eksklusif pengembang PHP, ada kemungkinan bahwa Anda belum mengalami sukacita migrasi, yang pertama dipopulerkan oleh Ruby on Rails framework.
Pikirkan migrasi sebagai kontrol versi untuk database Anda. Apa yang akan terjadi jika, sehari setelah Anda menambahkan field baru ke tabel tasks
Anda, Anda menyadari bahwa itu tidak diperlukan setelah semua. Yah, Anda akan secara manual menghapus field,ya kan? Tapi apa tentang pengembang lain dalam tim Anda? Kode mereka dapat merusak jika Anda tidak memberitahu mereka!
Dengan migrasi, namun, kami hanya memutar kembali migrasi sebelumnya, dan melanjutkan dengan hari kami! Bahkan lebih baik, ketika mendorong perubahan ke server Anda, perintah php artisan migrate
akan otomatis update production database. Ketika dikombinasikan dengan Laravel's skema Builder, hal ini membuat proses mengelola database semudah mungkin.
Mari kita membuat migrasi untuk menambahkan users
table baru ke database kami. Dari command line:
1 |
php artisan migration:make create_users_table --table=users --create |
Dalam snippet di atas, kita menentukan nama dari table, serta --create
flag, untuk menentukan bahwa kita sedang menciptakan sebuah tabel baru, daripada memodifikasi yang sudah ada.
Perintah ini akan membuat file migrasi baru dalam aplikasi kami. Kita kemudian dapat memanfaatkan Laravel's skema kelas untuk mempersiapkan skema table kami.
1 |
<?php
|
2 |
|
3 |
use Illuminate\Database\Migrations\Migration; |
4 |
|
5 |
class CreateTasksTable extends Migration { |
6 |
/**
|
7 |
* Run the migrations.
|
8 |
*/
|
9 |
public function up() |
10 |
{
|
11 |
Schema::create('tasks', function($table) |
12 |
{
|
13 |
$table->increments('id'); |
14 |
$table->string('title'); |
15 |
});
|
16 |
}
|
17 |
|
18 |
/**
|
19 |
* Reverse the migrations.
|
20 |
*/
|
21 |
public function down() |
22 |
{
|
23 |
Schema::drop('tasks'); |
24 |
}
|
25 |
}
|
Perhatikan bagaimana kelas ini menawarkan dua metode: up
dan down
, yang menentukan tindakan yang Laravel harus mengambil ketika menjalankan migrasi, serta bergulir kembali.
Dalam kasus ini, di up()
, kami membuat sebuah tabel baru, tasks
, dan menentukan dua bidang untuk id
dan title
task. Ketika bergulir kembali migrasi, kita hanya drop tabel.
Menjalankan migrasi dengan kembali ke Terminal, dan mengetik:
1 |
php artisan migrate |
That's it! Anda sekarang memiliki table tasks
baru dengan dua bidang! ... Uh oh, perlu memutar kembali? Sederhana:
1 |
php artisan migrate:rollback |
Selamat tinggal tasks
tabel.
Blade
Laravel's Blade template engine menyediakan sintaks yang bersih untuk dilihat. Sebagai contoh, dengan PHP biasa, untuk menyaring melalui daftar orang-orang dan echo nama masing-masing dalam daftar item, kita mungkin menulis:
1 |
<ul>
|
2 |
<?php foreach($people as $p) : ?> |
3 |
<li><?php echo $p; ?></li> |
4 |
<?php endforeach; ?> |
5 |
</ul>
|
Sintaks ini dapat diterapkan pada sebagian besar struktur kontrol PHP.
Ini tidak terlalu buruk, tapi kami bisa lebih baik. Setiap view Laravel yang berisi ekstensi file .blade.php
akan diurai, sesuai. Sebagai akibatnya, sebelumnya potongan dapat kemudian diganti dengan:
1 |
<ul>
|
2 |
@foreach($people as $p) |
3 |
<li>{{ $p }}</li> |
4 |
@endforeach |
5 |
</ul>
|
Perhatikan bagaimana variabel akan dibungkus dalam {{}}, mirip dengan apa yang Anda akan menemukan di template engine JavaScript, seperti Handlebars.
Blade juga dapat digunakan untuk layout yang elegan dan halaman utama. Mari kita membuat base master view to mendemontrasikan.
1 |
// views/layout.blade.php
|
2 |
<!doctype html> |
3 |
<html> |
4 |
<head> |
5 |
<title></title> |
6 |
</head> |
7 |
<body> |
8 |
<div class="container"> |
9 |
@yield('container') |
10 |
</div> |
11 |
</body> |
12 |
</html> |
Baris @yield
adalah kunci. Ini menunjukkan bahwa setiap child dilihat dengan id
bagian dari container
harus bersarang disana.
Mari kita berikutnya membuat view baru.
1 |
// views/home/hello.blade.php
|
2 |
@layout('layout') |
3 |
|
4 |
@section('container') |
5 |
<h1>Hello, {{ $user->name }}!</h1> |
6 |
@endsection |
Selesai! Mudah master page di PHP!
Resourceful controller
Tanpa sedikit bantuan, menciptakan sebuah RESTful service di PHP dapat membuktikan menjadi agak sulit. Yah, di Laravel 4 itu tidak bisa sederhana. Framework menawarkan apa yang kita sebut sebagai Restful Resources. Mari kita menguji.
Dalam file routes
, menentukan sumber daya yang baru.
1 |
Route::resource('tasks', 'TasksController'); |
Baris kode ini menunjuk yang kita inginkan untuk menciptakan sumber daya yang baru, tasks
, dan tempatkan controller TasksController
dipercaya juga untuk menangani logika untuk setiap rute.
Ketika mengikuti prinsip-prinsip REST, sumber daya ini akan secara otomatis mendata rute untuk:
- GET tasks (Tampilkan semua tugas)
- GET tasks/{id} (Tampilkan single task)
- GET tasks/create (menampilan form untuk membuat tugas baru)
- POST tasks(membuat tugas baru)
- GET task/{id}/edit (Edit satu task)
- PUT tasks/{id} (Update task)
- DELETE tasks/{id} (Hapus task)
Selanjutnya, mari kita membuat TasksController
itu, tetapi, bukan melakukannya secara manual, kami akan memberitahu Artisan membuat boilerplate.
1 |
php artisan controller:make TasksController |
Ini akan membuat controller controllers/TasksController.php
baru, dan mengisinya dengan sedikit boilerplate.
1 |
<?php
|
2 |
|
3 |
class TasksController extends Controller { |
4 |
/**
|
5 |
* Display a listing of the resource.
|
6 |
*/
|
7 |
public function index() {} |
8 |
|
9 |
/**
|
10 |
* Show the form for creating a new resource.
|
11 |
*/
|
12 |
public function create() {} |
13 |
|
14 |
/**
|
15 |
* Store a newly created resource in storage.
|
16 |
*/
|
17 |
public function store() {} |
18 |
|
19 |
/**
|
20 |
* Display the specified resource.
|
21 |
*/
|
22 |
public function show($id) {} |
23 |
|
24 |
/**
|
25 |
* Show the form for editing the specified resource.
|
26 |
*/
|
27 |
public function edit($id) {} |
28 |
|
29 |
/**
|
30 |
* Update the specified resource in storage.
|
31 |
*/
|
32 |
public function update($id) {} |
33 |
|
34 |
/**
|
35 |
* Remove the specified resource from storage.
|
36 |
*/
|
37 |
public function destroy($id) {} |
38 |
}
|
Setiap metode tersebut akan dipicu ketika RESTful route triggered Jadi, untuk menampilkan form untuk membuat task
baru, kami akan memuat view berlaku dalam create
metode, yang akan menjadi dipicu ketika example.com/tasks/create
diminta. Form harus POST ke /tasks
, dalam hal metode store
akan dipicu.
Tidak bisa bersih!
Database Seeding
Berapa kali Anda sendiri telah ditemukan secara manual "seeding" tabel database dengan dummy records, untuk tujuan pengujian? Bagi saya, Yah, itu adalah jumlah besar! Laravel 4 memungkinkan kita untuk menentukan file seed
untuk table.
Untuk mencobanya, membuat file baru dengan nama yang sama seperti table dengan masing-masing dalam aplikasi/database/seeds
direktori aplikasi Anda. File ini harus menyimpan sebuah array dari array, masing-masing berisi pasangan key-value yang diperlukan. Berikut adalah contoh:
1 |
<?php
|
2 |
// app/database/seeds/tasks.php
|
3 |
|
4 |
return [ |
5 |
[ 'title' => 'Go to the store' ] |
6 |
[ 'title' => 'Finish Laravel article' ] |
7 |
[ 'title' => 'Pick up eggs.' ] |
8 |
]);
|
Kami sekarang telah menggambarkan tiga baris baru untuk tasks
tabel dalam database kami. Mari kita seed itu.
1 |
php artisan db:seed |
Selesai!
Model setter dan Getter
Ada kemungkinan berbagai tindakan yang Anda sering memicu ketika pengaturan atau mendapatkan bidang dari tabel database. Misalnya, bila pengguna mendaftar, untuk mengikuti praktik keamanan terbaik, kita harus selalu hash password mereka. Alih-alih secara manual melakukan pekerjaan, mari kita sebaliknya memperbarui User
model dan menentukan bahwa, ketika menetapkan password, itu harus pertama akan hashed.
1 |
<?php
|
2 |
// models/User.php
|
3 |
|
4 |
class User extends Eloquent { |
5 |
public function setPassword() |
6 |
{
|
7 |
return Hash::make( $this->password ); |
8 |
}
|
9 |
}
|
Mudah! Sekarang, kita tidak perlu khawatir tentang potongan teka-teki, ketika mendaftarkan pengguna baru. Tentu saja, opsi reverse juga tersedia, harus Anda memerlukan proses nilai bidang sebelum "mendapatkan" itu.
Bagaimana jika kita perlu untuk menghiasi timestamp atau nama? Ini, juga, dapat dicapai melalui model, jika Anda inginkan.
1 |
<?php
|
2 |
// models/User.php
|
3 |
|
4 |
class User extends Eloquent { |
5 |
public function fullName() |
6 |
{
|
7 |
return $this->firstName . ' ' . $this->lastName; |
8 |
}
|
9 |
}
|
Metode fullName()
yang baru ini sekarang akan tersedia untuk instance user kami.
1 |
echo User::find(1)->fullName(); // John Doe |
Community (Conference)
Mungkin lebih penting daripada apa pun, Laravel, dalam waktu yang relatif singkat, telah mengumpulkan sebuah komunitas yang berkembang, evangelis, yang terdiri dari beberapa pengembang paling berpengaruh dalam komunitas PHP.
Mengapa hal ini penting? Sederhana: dengan evangelism datang pendidikan dan kontribusi. Rintangan terbesar untuk sebuah framework kerja baru mendapatkan kata keluar, dan menunjukkan orang bagaimana menggunakan cara memakainya! Untungnya, Laravel unggul dalam dokumentasi dan tutorial/screencasts seluruh web - termasuk penuh kursus tersebut oleh Anda benar-benar!
Kebenaran adalah bahwa kita sudah hampir tidak menggores permukaan dari apa yang mungkin dalam Laravel. Kami telah namun untuk menutupi Laravel's kesalahan penanganan, PHPUnit integrasi, eager loading (sebelum dan setelah mengambil koleksi), dan banyak lagi. Pastikan untuk merujuk pada dokumentasi yang fantastis untuk menggali lebih dalam rangka, dan mata Anda tetap dikupas untuk rilis resmi versi 4!
Jika artikel ini disajikan sebagai dorongan untuk cinta Anda baru ditemukan PHP dan Laravel, mungkin Anda akan mempertimbangkan menghadiri Laracon tahunan pertama (konferensi), dijadwalkan untuk Februari akhir, 2013, di Washington D.C. Mungkin aku akan melihat Anda di sana!



Pertama kalinya konferensi Laravel, Laracon, akan diadakan di Washington DC pada tanggal 22-23 Februari 2013. Pelajari lebih lanjut di http://conference.laravel.com