Sudah lama sejak Google mengumumkan dukungan PHP pada Google App Engine. Artikel seri ini akan membawa Anda melalui semua langkah yang diperlukan agar aplikasi Anda dapat berjalan pada GAE. Untuk tutorial ini, kita akan menggunakan PhpStorm yang mendukung proyek GAE, tetapi Anda dapat menggunakan IDE pilihan Anda.Mulailah dengan menghormati prasyarat untuk platform Anda. Hal ini diperlukan karena Google App Engine SDK memerlukan software tertentu untuk bisa dijalankan secara lokal, yaitu Python yang menjalankan server”.Jika misalnya PhpStorm Anda tidak memiliki plugin GAE untuk beberapa alasan, pergilah ke Preferences dan temukan di plugin browser ini tersedia untuk didownload dan diinstal melalui repositori Plugin.

Mendaftarkan aplikasi pada GAE

Untuk mengembangkan sebuah aplikasi untuk GAE, Anda harus terlebih dahulu mendaftar dan mengambil ID aplikasi. Pergilah ke https://appengine.google.com/ dan log in dengan akun Google Anda. Setelah selesai, klik tombol “Create Application” di dashboard dan masukkan informasi yang diperlukan ke dalam formulir.

Memulai Proyek

Untuk memulai sebuah proyek PHP baru di GAE, cukup pilih dari menu drop-down dan mengisi data yang dibutuhkan.

Setelah Anda menerimanya, IDE secara otomatis akan menciptakan dua file: app.yaml dan main.php. Jika Anda tidak menggunakan PhpStorm, Anda dapat membuat sendiri ini.

app.yaml:

application: sitepoint-test
version: 1
runtime: php
api_version: 1
threadsafe: true

handlers:
- url: .*
  script: main.php

main.php:

<?php

echo 'Hello, world!';

Mari kita jelaskan atribut YAML.

threadsafe mengacu pada keselamatan thread PHP, isu yang sangat diperdebatkan dengan kebanyakan orang yang skeptis terhadap hal itu dan masih meragukan bahwa PHP sebenarnya mendukung thread. Untuk informasi lebih lanjut, baca dua pertanyaan StackOverflow ini.

Nilai ini tampaknya opsional tapi aku biasanya cenderung mempercayai Google dan Jetbrains untuk mengetahui apa yang mereka lakukan dan melihat karena tidak ada dokumentasi yang tepat pada kata properti, mari kita biarkan apa adanya.

handlers adalah seperangkat nilai-nilai yang mendefinisikan skrip yang menangani  pola URL. Pola URL adalah ekspresi reguler, dan ini bagian dari file YAML dapat digunakan untuk menentukan rute.

Pada titik ini, anda dapat memasukkan Pengaturan Proyek di PhpStorm, dan di bawah Google App Engine PHP Anda dapat memasukkan nama pengguna dan sandi Akun Google Anda, sehingga Anda tidak akan diminta ketika mendeploying mereka.

Mengetes aplikasi

Kita memiliki dua cara untuk mengetes aplikasi kita.

  1. Menjalankan dari terminal
  2. Menjalankan dari PhpStorm

Menjalankan aplikasi dari terminal

Untuk menjalankan server dari terminal, masukkan perintah berikut ini:

{google_appengine folder}/dev_appserver.py {project folder}

atau, dalam kasus saya ketika tanda {} dihilangkan dengan nilai sebenarnya:

google_appengine/dev_appserver.py gae01/

Ini akan menjalankan server aplikasi dan menunjuk pada folder yang disediakan sebagai parameter pertama. Dua hal terjadi ketika Anda melakukan hal ini: sebuah konsol administrasi dijalankan di http://localhost:8000 dan aplikasi itu sendiri dijalankan di http://localhost:8080. Jika Anda mengunjungi konsol admin, Anda akan melihat sejumlah besar informasi yang berguna dari isi memcache hingga cronjobs dan banyak lagi:

 

Mengarahkan URL ke http://localhost:8080 akan menampilkan “Hello World” di browser

Catat bahwa ketika kamu mendapati pesan eror The path specified with the --php_executable_path flag () does not exist.  ketika menjalankan aplikasi, ini berarti server aplikasi tidak mengetahui dimana lokasi php-cgi, makanya ia tidak dapat menjalankannya. Cukup tambahkan ini di baris perintahnya:

google_appengine/dev_appserver.py --php_executable_path=/usr/bin/php-cgi gae01/

Menemukan dimana lokasi php-cgi kamu adalah cukup mudah – ketikkan whereis php-cgi dan jika ia ada di variabel $PATH kamu, lokasinya akan ditunjukkan di terminal.

Menjalankan aplikasi dari PhpStorm

Untuk menjalankan aplikasi dari PhpStorm, klik pilihan “Edit Configurations” di menu “Select Run/Debug Configuration”:

Sebagian besar informasi dalam dialog yang muncul akan sudah diisi. Satu-satunya nilai yang hilang adalah  “Path to php-cgi executable” yang dapat Anda temukan dengan mengetik whereis php-cgi di terminal Anda. Pada Linux, punya saya berada di /usr/bin/phpcgi.

Setelah menekan Apply dan OK, klik panah hijau di sebelah menu Select Run/Debug Configurationi” , atau hanya tekan Shift + F10 sebagai shortcut ke perintah “Run default”. Konsol PhpStorm seharusnya menampilkan informasi tentang server yang baru saja dijalankan dan http://localhost:8000 dan http://localhost:8080 sekarang keduanya dapat diakses, dengan yang terakhir menghasilkan output Hello World”  ketika dikunjungi di browser .

Menjalankan melalui PhpStorm memiliki keuntungan tambahan untuk dapat mengatur breakpoints dan melakukan langkah demi langkah debugging. Cukup klik di dekat nomor baris dalam kode Anda (dalam selokan dari jendela editor) dan sebuah bola merah akan muncul. Itu breakpoint. Saat menjalankan aplikasi Anda, server akan berhenti secepat itu saat mencapai titik ini, memungkinkan Anda untuk memeriksa variabel yang ditetapkan saat ini, pemakaian memori, dan banyak lagi.

Deployment

Terdapat tiga cara untuk mendeploy aplikasi ke GAE:

  1. Melalui terminal/command line
  2. Melalui PhpStorm
  3. Melalui Git

Deployment Melalui terminal

Mengupload aplikasi melalui terminal adalah simpel dengan memanggil {google_appengine}/appcfg.py update {project folder} atau dalam kasus saya google_appengine/appcfg.py gae01/.

Deployment melalui PhpStorm

Untuk mendeploy dari PhpStorm, pergilah ke Tools -> Google App Engine for PHP -> Upload App Engine PHP app…

Jika Anda telah memasukkan kredensial Anda dalam Pengaturan Proyek, proses akan dilanjutkan secara otomatis tanpa pertanyaan. Jika tidak, Anda akan diminta untuk memasukkan username dan password, dan plugin akan memanggil perintah yang sama dengan ketika Anda memanggil secara manual ketika deploying melalui terminal.

Deployment melalui Git (Push-to-Deploy)

Push-to-deploy masih dalam keadaan eksperimental sekarang, tapi akan lebih baik jika meluangkan waktu dan usaha untuk menguasainya.

Untuk mengatur PTD, kamu perlu masuk ke cloud console dan menemukan aplikasimu disini.

Klik pada nama aplikasi Anda, gulir ke “Cloud Development” di menu sebelah kiri, dan klik “Create a New Repo”.

Simpan URL repo dan klik “Get Password”. Ini seharusnya menghasilkan string tidak seperti machine code.google.com login {user} password {pass} with {user} and {pass} ganti dengan data Anda sendiri. Salin string ini ke sebuah file yang bernama .netrc yang harus Anda buat dalam folder home Anda. Jika Anda berada di Windows, file yang harus dibuat adalah _netrc. Windows juga perlu memiliki variabel HOME yang telah didefinisikan, yang dapat Anda lakukan dengan memanggil setx HOME %USERPROFILE%.

Yang perlu Anda lakukan sekarang adalah menghubungkan url remote ke repo yang Anda miliki di komputer lokal Anda (baik add remote atau clone secara langsung dari URL repo cloud console yang diberikan padamu sebelumnya) dan push agar hidup. Karena app kita buat dalam artikel ini sudah ada, mari kita membuat repo Git di atasnya dan menambahkan url remote untuk itu. Untuk mencegah file sampah dari IDE yang diupload bersama berkas kita, tambahkan file .gitignore ini Ke folder.

cd gae01
git init
git add .
git commit -am 'Initial commit'
git remote add appengine REPO_URL

Ganti REPO_URL dengan url repo konsol awan Anda. Perintah terakhir yang dilakukan adalah menambahkan link remote ke repo lokal yang mengikat ke repo remote. Link ini disebut appengine” appengine hanya label, Anda dapat memilih sendiri, tapi tidak ada gunanya menggunakan sesuatu selain default standar yang ditunjukkan di sini.

Setiap kali Anda membuat perubahan, gunakan repo seperti yang Anda biasanya akan gunakan. Anda bahkan dapat mengatur repo Github di samping, dan menambahkan link remote lain ke repositori lokal ini. Ini akan memungkinkan Anda untuk memiliki kontrol versi di Github jika Anda terbiasa untuk itu dari pada Google Code, sementara masih menyebarkan ke GAE melalui PTD ketika Anda menarik/pull perubahan dari Github dan mendorongnya/push ke link appengine.

Untuk mendorong aplikasi agar online saat ini, panggil saja

git push appengine master

Perhatikan bahwa Anda dapat memiliki banyak cabang yang Anda inginkan, seperti dalam repo Git, tetapi hanya mendorong cabang master yang benar-benar akan menyebar ke lingkungan server yang hidup. Selain itu, kode sumber Anda dilindungi dari mencongkel mata, repo yang tidak umum dan hanya dapat dilihat oleh admin dan kontributor. Namun, jika pengguna menonaktifkan PTD dan menghidupkannya lagi, repo yang dibuang dan yang baru dibuat tidak ada cara untuk mengembalikan yang lama. Hati-hati tentang pada siapa Anda memberikan izin untuk itu.

Mengunjungi URL yang sesuai sekarang ( your-app-id.appspot.com ) seharusnya memberikan pesan Hello World, dan mengklik pada nama repo di konsol awan akan memberi Anda daftar versi sejarah dan gambaran dari kode sumber.

Kesimpulan

Google App Engine adalah cara terbaik untuk menyebarkan aplikasi dengan lalu lintas tinggi agar mudah diperluas. Kuota gratis mereka memungkinkan untuk 5 juta views per bulan, cukup mudah untuk aplikasi apapun, dan memperluasnya melewati kuota yang lama hanya dibutuhkan beberapa klik mouse.

Dalam artikel ini kita telah membahas penyebaran dasar dengan dan tanpa IDE, dan menjelaskan mekanisme Push-To-Deploy.

diterjemahkan bebas dari http://www.sitepoint.com/google-app-engine-php-getting-started/

Advertisements

About phpgeek programmer

pemimpi yang berharap menjadi the best programmer di zamannya

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s