7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Yii

Cara Memprogram Dengan Yii2: Memulai

Scroll to top
Read Time: 8 mins
This post is part of a series called How to Program With Yii2.
How to Program With Yii2: Exploring MVC, Forms and Layouts

Indonesian (Bahasa Indonesia) translation by Andy Nur (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Jika kamu bertanya, "apa itu Yii?" lihat tutorial saya sebelumnya: Pengenalan Framework Yii, yang mengulas manfaat Yii dan menyertakan ikhtisar tentang apa yang baru di Yii 2.0, yang dirilis 12 Oktober 2014.

Tutorial ini akan memandumu dalam menginstal Yii 2.0, menyiapkan lingkungan pengembangan lokalmu, membuat aplikasi Hello World sederhana, mengatur lingkungan produksi jarak jauhmu untuk hosting dan menyebarkan kodemu dari repositori GitHub.

Memasang Yii 2.0

Dokumentasi

Kamu dapat menemukan petunjuk pemasangan terperinci di sini; Saya akan memandumu melalui dasar-dasar untuk lingkungan pengembangan Mac OS X yang khas. Yii 2.0 memiliki Panduan Definitif (PDF) dan Referensi Class yang mencakup setiap detail Yii. ca

Memasang Composer

Yii2 membutuhkan Composer, pengelola dependensi populer untuk PHP. Jika kamu belum menginstal Composer, lakukan hal berikut:

Memasang Yii2

Kemudian, gunakan Composer untuk menginstal Yii2. Permintaan instalasi mengharuskanmu menggunakan kredensial akun Github-mu sendiri; daftar jika kamu tidak memiliki akun.

Mari kita sebut proyek pertama ini, "hello"'

Yii2 menyediakan dua template instalasi berbeda tergantung dari aplikasi Anda mengembangkan jenis: dasar dan lanjutan. Untuk tutorial ini, kita akan menggunakan aplikasi dasar yang diinstal secara default. Template aplikasi canggih menyediakan sebuah front-end, kembali akhir dan akses konsol poin untuk aplikasi web yang lebih maju, seperti WordPress blog, itu adalah tugas cron administratif dashboard dan latar belakang.

Pengaturan lingkungan pengembangan lokal Anda

Saya menggunakan gratis, open source MAMP untuk OS X untuk perkembangan lampu saya. Pastikan MAMP berjalan dan server web dan database aktif. Kemudian, membuat symlink untuk MAMP ke direktori app situs Anda:

Kemudian, kunjungi http://localhost:8888/Halo/web. Anda harus melihat Yii2 aplikasi dasar template berjalan dengan Bootstrap 3.x.

Yii2 Newly Installed Basic Application TemplateYii2 Newly Installed Basic Application TemplateYii2 Newly Installed Basic Application Template

Halaman tersebut mungkin akan membangkitkan Yii 1.1 pengembang yang sudah tidak punya pra-dikonfigurasi dukungan untuk versi terbaru dari Bootstrap, beredar membuka sumber responsif CSS kerangka yang diambil selama sedikit web.

Arsitektur aplikasi Yii

Salah satu fitur yang paling penting dari Yii Framework adalah bahwa ia menyediakan Model View Controller untuk PHP. Tidak hanya ini menyediakan lebih banyak lingkungan Pemrograman terstruktur dan lebih mudah untuk memahami kode, menyederhanakan sejumlah hal yang sulit untuk dilakukan dalam PHP, seperti keamanan dan otomatis kode generasi. Hal ini juga membuat kode kita lebih mudah untuk memperluas dan lebih reusable.

Dengan aplikasi Yii, kita langsung semua lalu lintas untuk file tunggal: /web/index.php file. File ini built-in banyak Yii, dependensi apapun, dan kemudian menjalankan aplikasi Anda.

Secara default, ini adalah metode indeks di /controllers/SiteController.php:

Umumnya, controller penuh metode, tetapi dengan minimal kode seperti di atas. Controller mengelola akses, leverage model dan membuat pemandangan. Sebagian besar kecerdasan harus dibangun ke model Anda dan pandangan umumnya harus menghasilkan template relatif sederhana operasi.

Secara default, Yii akan membuat /views/layouts/main.php di sekitar tampilan indeks di /views/site/index.php. Tata letak main.php menyediakan struktur HTML dan CSS ke halaman, misalnya toolbar dan wilayah konten. Di dalam main.php, Anda akan melihat panggilan singkat untuk konten:

Variabel $content akan diganti dengan kode yang dihasilkan dari /views/site/index.php, yang saat ini kode HTML statis yang menghasilkan Selamat! Halaman ditampilkan di atas.

Bangunan Halo dunia!

Menyalakan URL cantik

Pertama, mari kita mengaktifkan Yii2's URL cantik dengan mod_rewrite. Di halaman rumah Yii, jika Anda klik pada pilihan menu tentang, URL akan menjadi sesuatu seperti http://localhost:8888/hello/web/index.php?r=site%2Fabout. Kami ingin mengubah http://localhost:8888/Halo/web/situs/tentang.

Subdirektori config termasuk lingkungan konfigurasi untuk aplikasi web dan konsol serta pengaturan database masa depan. Mengedit /config/web.php untuk menambahkan urlManagement ke aplikasi web saat ini. Tambahkan bagian urlManager berikut ini dalam components array:

Kemudian, membuat file .htaccess dalam /web, di mana file index.php utama ada:

Pastikan mod_rewrite berjalan secara lokal pada MAMP; Jika tidak, periksa panduan ini Stack Overflow.

Di peramban, kunjungi URL ini: http://localhost:8888/Halo/web/situs/tentang. Anda harus melihat aplikasi Yii tentang halaman dan mengklik pada pilihan menu lain harus membawa URL yang cantik.

Membangun mengatakan Halo dunia! Aksi

Selanjutnya, kami akan menambahkan aksi controller disebut mengatakan untuk mengulang pesan target kami memilih. Dalam /controllers/SiteController.php, menambahkan tindakan berikut:

Ini akan terlihat untuk parameter URL yang disebut target untuk echo ke layar. Jika tidak ada sasaran parameter, ia akan berkata berulang "dunia". Dalam Yii, tindakan didefinisikan sebagai metode bernama dengan awalan "aksi" diikuti dengan nama aksi. Dalam kelas SiteController ini, kita menggunakan actionSay fungsi umum. Yii menggunakan awalan "aksi" untuk membedakan metode aksi dari metode lain.

Perilaku default metode render akan mencari file dalam views/ControllerID/ViewName.php. Jadi, di /views/situs /, membuat file tampilan say.php:

Ini adalah file tampilan template untuk mengulangi statis HTML tag h1 dengan menyapa diikuti oleh variabel target. Catatan: Kami menyandikan variabel target untuk mengamankan parameter URL argumentasi kode berbahaya.

Jika Anda mengunjungi url, http://localhost:8888/hello/web/site/say?target=Tuts%20Readers, Anda akan melihat ini:

Hello Tuts ReadersHello Tuts ReadersHello Tuts Readers

Itu adalah contoh yang sangat dasar dari Yii2 Model View Controller. Anda dapat membaca deskripsi yang lebih menyeluruh Hello World demonstrasi dan Yii2 MVC di sini.

Sekarang, mari kita mengatur aplikasi kita dengan GitHub dan menyebarkan ke server produksi.

Pengaturan lingkungan Hosting Anda jauh

Yii dasar aplikasi harus berjalan baik dari kotak dengan Apache atau Nginx, aku akan memberikan petunjuk untuk Apache dan Anda dapat menemukan petunjuk untuk Nginx di sini.

Membuat repositori di GitHub

Setelah saya membuat kerangka aplikasi Yii, saya membuat repositori di Github:

Create a New Repository at GithubCreate a New Repository at GithubCreate a New Repository at Github

Catatan: Ini sedikit lebih mudah pada awalnya untuk menyalin dan menyisipkan .gitignore Yii2 dari GitHub untuk file lokal ~/Sites/hello/.gitignore daripada membuat situs dengan jarak jauh dan harus menggabungkannya secara lokal, namun pendekatan yang baik baik-baik saja.

Saya telah menggunakan Mac OS X GitHub app lebih sering, tetapi Anda juga dapat menggunakan baris perintah untuk menginisialisasi repositori. Di bawah ini, saya mengikuti petunjuk untuk menambahkan proyek yang sudah ada ke GitHub menggunakan baris perintah (ganti "youraccount" dengan nama akun GitHub Anda):

Mengkonfigurasi Apache situs pada Server Anda

Jika Anda belum memiliki lampu server atau awan contoh, ikuti petunjuk instalasi Ubuntu saya generik untuk memulai. Setelah Anda memiliki alamat IP Anda, memodifikasi data DNS untuk memiliki titik rekaman A ke server Anda.

Kemudian, log in ke server Anda melalui alamat IP atau domain nama:

Memperbarui konfigurasi, menginstal Git, mengaktifkan mod_rewrite Apache dan mcrypt untuk PHP:

Mengkonfigurasi akses GitHub di Server jauh

Sekarang, kami akan membuat pengguna untuk menarik kode dari Github itu dapat dilayani oleh Apache. Pertama, menginstall git pada server Anda.

Kemudian, kita akan membuat sebuah group untuk www, menambahkan www-data dan GitHub pengguna untuk itu dan memberikannya kepemilikan direktori web kami.

Selanjutnya, kita membuat sebuah kunci untuk pengguna yang kita berbagi dengan GitHub untuk menjaga kode sinkron:

Anda akan melihat sesuatu seperti ini, yang Anda butuhkan untuk copy dan paste untuk GitHub.com:

Your Github KeyYour Github KeyYour Github Key

Kunjungi halaman pengaturan untuk repositori soundub Anda GitH di bawah tombol, dan kunci ini menambah repositori Anda:

Setelah Anda menambahkan itu, Anda akan melihat ini tercantum di sini:

Akhirnya, Anda dapat klon pohon ke server produksi:

Jika Anda GitHub akses adalah benar dikonfigurasi, itu harus terlihat seperti ini (jika tidak, meninjau ini):

Git CloneGit CloneGit Clone

Seperti yang Anda memperluas basis kode dengan tutorial ini seri dan mendorong update dari komputer lokal Anda, Anda akan mampu sync mereka pada server remote produksi dengan git pull. Hal ini lebih sederhana daripada meruntuhkan tarball atau sinkronisasi kode secara manual - dan akan menjadi lebih berguna sebagai seri tutorial ini terus dengan modul berikutnya.

Membuat konfigurasi situs Apache

Buat file konfigurasi Apache situs:

Menyesuaikan konfigurasi ini nama domain:

Mengaktifkan situs Anda:

Kunjungi http://yourdomain.com/site/say?target=World! dan Anda akan melihat Anda aplikasi yang berjalan pada domain Anda tanpa Yii2 debug toolbar di bagian bawah seperti ini:

Production Server Hello World ApplicationProduction Server Hello World ApplicationProduction Server Hello World Application

Selamat! Sekarang kita siap untuk menjelajahi fitur-fitur yang lebih canggih dalam Yii2. Jika Anda ingin tahu kapan tiba tutorial Yii2 selanjutnya, ikuti @tutspluscode atau @reifman di Twitter atau periksa halaman penulis saya. Halaman penulis saya akan mencakup semua artikel dari seri ini segera segera setelah mereka diterbitkan.

Jika Anda memiliki pertanyaan atau koreksi pada tutorial ini, silahkan posting di komentar.

Link terkait

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.