Archive for PHP
June 19, 2008 @ 3:27 am
· Filed under jelas, kunci, liat, hitam putih, function php, cara kerja, cuman, enak, penampakan, perpaduan, surga, temen, widget area, sih, shout box, poin, sampe, sering, bisa, biru, Blogging, Theme, WebDev, iseng, puitis, Wordpress, Widget, Jagad Wordpress, belajar, versi, saya, aduk, bikin, jika, selama, hati, karena, PHP

Ahamdulillah… niatnya cuma sekedar iseng ngutak-ngatik theme modifikasi yang pernah di buat sebelumnya, yaitu si ‘Monochrome Typo’ di server lokal, tapi ketagihan sendiri. Dalam 6-8 jam, sejak tadi subuh sampe siang udah 4 theme yang berhasil di’lalap’ (ternyata tanpa sambel dan nasi aja udah enak hehehe). Memang cuman satu theme yang betul-betul berubah wujud sepenuhnya, sisanya cuma sekedar perubahan ‘kecil’. Theme yang secara tampilan sangat-sangat berubah dari theme acuannya saya kasih nama ‘SURGA BIRU’ dan sekarang bisa temen-temen liat dalam tampilan blog saya ini.
Theme yang campur-aduk perpaduan antara biru langit, kelabu, hitam, putih, oranye ini akhirnya jadi juga. Dengan hati yang hati dag-dig-dug gak jelas, theme ini saya namakan saja theme tersebut dengan ’surga biru’ suatu perwujudan harapan saya tentang masa depan. Masa depan yang cerah bagai birunya langit… (Maaak… kenapa aku jadi puitis begini?). Jadi bisa dikatakan theme ini adalah manivestasi dari suatu optimisme akan masa depan, walaupun warnanya agak suram… hehehe… kurang nyeni sih. Ceritanya mah didedikasikan untuk sesosok makhluk gitu deh… (penampakan kali).
Halah, gak jelas! Ayo kita fokuskan lagi ke masalah Theme development. Ada satu poin yang aku pelajari selama sesi ngoprek script tadi pagi, yaitu seluk-beluk berurusan dengan ‘yang berwajib’ memperindah (ato bisa juga sebaliknya, memperuwet) tampilan blog kita dengan berbagai macem aksesoris seperti shout box, blogroll, hit counter, banner-banner dll. Yup… betul sekali sodara-sodara, saya belajar secara otodidak tentang cara kerja sidebar dan widget didalam sebuah theme wordpress. Disinilah saya bertemu langsung dengan bapak ‘function.php’ dan ’sidebar.php’, para tersangka pelakunya.
Saya mungkin nggak akan ngejelasin panjang lebar soal cara kerjanya, berhubung ini mah bukan tutorial dan kalo saya yang bikin tutorialnya kemungkinan besar akan bertele-tele bahasannya. Cuma intinya kunci dari permainan widget didalam theme bisa dibagi dalam 3 tahap:
Pertama, menentukan berapa banyak area widget dan penyebutannya di halaman pengaturan widget (Design>theme)
Kuncinya adalah pada bagian:
if ( function_exists(’register_sidebars’) ) {
…
}
Kita sering melihat jumlah area widget sangat bervariasi. Kadang di kanan saja, di kiri saja, di dua sisi, di bagian atas posting, atau dibawah posting bahkan ada pula yang tidak menyediakan tempat widget samasekali (terutama theme model lama, sebelum Wordpress versi 2.*). Disinilah si penggarap theme mengatur berapa banyak area widget yang akan disediakan di dalam theme serta sebutan yang diberikan untuk si theme tersebut. Untuk lebih cepat mempelajarinya sebaiknya kita langsung belajar dari theme-theme yang sudah jadi, agar bisa melihat dan membedakan variasi-variasi yang bisa dilakukan dalam penentuan jumlah area penempatan widget.
Kedua, Mengaplikasikan area widget dalam file index.php
Setelah sebutan dan jumlah area penempatan widget kita tentukan, selanjutnya adalah menempatkan area penempatan widget dinamis di theme yang kita buat. Penempatannya bisa sangat fleksibel, baik di sidebar, diatas atau dibawah halaman atau searea dengan konten blog kita. Tetapi harus diperhatikan pengaturan CSSnya. Secara default, kumpulan widget diletakkan dalam file ’sidebar.php’. Bisa juga lokasi ini kita modifikasi, seperti theme ’surga biru’ ini, dua widget area yang di theme ‘Monochrome Typo’ terletak di sidebar saya tempatkan di atas area posting (content).
Ketiga, Sinkronisasi posisi widget area dengan Stylesheet
Tapi harus diperhatikan, pemindahan lokasi widget seperti yang saya lakukan tidak bisa sembarangan. Mesti diingat bahwa penempatan script
< ?php if ( !function_exists(’dynamic_sidebar’) || !dynamic_sidebar(’nama_area’) ) : ?>
harus disesuaikan dengan CSS yang diperuntukkan untuk area widget. Peletakkan widget area harus berada dalam <div> yang diperuntukkan khusus untuk widget. Jangan sampai CSS yang tertampilkan justru malah yang diperuntukkan untuk area content atau header, kecuali memang itu yang kita harapkan.
Jika theme yang kita kerjakan ini kita buat dari nol, maka penempatan diatas bisa dibuat lebih fleksibel. Dengan cara ini, pengaturan tampilan baru kita atur saat kita berurusan dengan file stylesheetnya (stylesheet.css). Dalam file stylesheet inilah kita mengatur dimensi dan tata letak komponen-komponen theme, warna-warni latar dan huruf, serta pemilihan jenis font.
Hm… karena saya harus segera minggat dari komputer ini, jadi tulisan ini saya sudahi sampai disini saja. Semoga sharing ilmu seputar PHPnya bisa dilanjutin kapan-kapan. Oiya, berikut ini saya share 4 theme yang saya utak-atik. Selain ’surga biru’, tiga lagi cuman saya tambahin area widget aja, jadi nggak terlalu berubah drastis.
If you see my blog content is valuable, please consider to treat me

Permalink
June 10, 2008 @ 7:56 pm
· Filed under PHP
Jika Anda berminat untuk mempelajari dan ingin lebih tahu mengenai PHP, silakan untuk menghadiri acara PHP Developers Day pada tanggal 19 Juni 2008 di Gedung PDII Lt. 2 LIPI Jl. Gatot Subroto Kav. 10, Jakarta. Saya sendiri insya Allah akan menjadi pembicara dengan topik yang sama dengan judul posting ini catatan_riyogarta
Untuk melihat [...]
Permalink
April 30, 2008 @ 3:14 am
· Filed under WebDev, cmsku.org, Jagad Wordpress, web-development, PHP
Sub domain aggregator di cmsku.org rencananya akan digunakan sebagai sarana komunikasi bagi pengembang CMS lokal (a.k.a pribumi). Fasilitas ini akan terbuka bagi siapa saja yang memiliki ketertarikan terhadap dunia web-development, baik bagi mereka yang memang sudah advance ‘meracik’ script/kode maupun yang baru sebatas coba-coba (alias newbies kayak saya). Disini akan disediakan blog informasi, fasilitas agregasi blog (powered by gregarius), dan forum (powered by bbpress). Karena masih ada sedikit masalah dengan integrasi bbpress dan wordpress, jadi sepertinya belum dibuka kesempatan bagi anda-anda yang ingin nimbrung dalam dunia oprek-mengoprek content management system. Tapi bagi anda yang mau mulai siap-siap sekadar pamer CMS buatannya, silahkan menghubungi saya via YM (delcardino).
Wahai mahasiswa informatika (dari manapun institusi anda), ayolah… narsis dikit! Pamerin CMS kalian… jangan dibiarkan ngedon di ftp-ftp lokal dan berlumut karena sekedar jadi tugas kuliah.
If you see my blog content is valuable, please consider to treat me

Permalink
April 22, 2008 @ 5:53 am
· Filed under Lazy Installer 0.1 Beta, upload and extract, WebDev, Jagad Wordpress, web-development, PHP
Akhirnya bisa juga nginstall wordpress pake script “Lazy Installer 0.1 Beta” yang kuutak-atik dari scriptnya ‘WP-Plugin Uploader’nya Ahlul faradish Resha. Setelah sebelumnya berhasil jalan di localhost, ernyata bisa juga script itu jalan di online server. Berarti ada alternatif lain untukku kalo mau upload installer selain via ftp-client. Satu hikmah yang bisa diambil buatku adalah, keadaan sulit akan membuat orang berpikir kreatif (ngh… ini bisa dibilang kreatif nggak ya?).
Script yang aku kasih nama lazy installer ini sebenernya merupakan implementasi teknis dari library zip yang ada di pclzip.lib.php yang umum digunakan untuk berurusan dengan file zip di dalam server. Awalnya karena terinspirasi dengan plugin yang kusebut diatas, aku kepikiran gimana caranya supaya aku bisa mengupload installer wordpress tanpa harus berurusan dengan jalur ftp.
Maklum aja kalo aku traumatik pake ftp-client, baik di warnet ato di kampus. kalo mau nginstall wordpress di web kan biasanya kita harus ekstrak dulu file zipnya baru kemudian diupload. Karena pemrosesan filenya satu persatu, transfer ini bisa memakan waktu lama. Ada sih yang mungkin punya fungsi unzip. Tapi dikampusku ini, satu-satunya ftp client yang bisa dipake cuma total commander, dan setahuku nggak ada fungsi itu. Makanya kemudian aku pikir solusinya adalah dengan membuat file installer yang berupa zip terupload dulu ke server baru terekstrak. Berhubung aku ber’pacaran’ dengan script php pun baru beberapa bulan ini, maka jalan pintasnya adalah mengedit script yang sudah dibuat orang.
Dan kandidatnya ada 3, semuanya adalah plugin wordpress. Pertama adalah Oneclick Installer by Anirudh Sanjeev. Plugin ini paling ideal kalo bisa dibuat terpisah dari dari wordpress, karena sudah sekaligus membawa script untuk upload zipfile dari komputer dan script untuk mendownload filezip dari url ke server. Sayangnya aku nggak tau function mana yang bisa dihapus dan mana yang harus dipertahankan sehingga belum ada progress dengan script ini. Dua pilihan lain adalah WP-Plugin Uploader dan WP Auto Upgrade. Dan sampai sekarang yang paling siap (sebenarnya aku hampir-hampir nggak merubah scriptnya) ya… yang pertama itu. Aku cuma ngerubah lokasi target upload dan beberapa bagian lain, terutama themenya (hehehe… narsis dikit ah!).
Dengan berhasilnya instalasi wordpress dan gregarius hari ini, dengan ini saya nyatakan script tadi berfungsi (ketok palu 3 kali). Sekali lagi aku nggak bermaksud mengklaim script buatan orang lain, tapi aku berharap script ini bisa bermanfaat juga. Terutama sekali buat mereka yang akses internetnya lambat, nggak punya fasilitas ftp dan script fantastico di cpanelnya error sehingga nggak bisa install secara instan insyaAllah plugin ini berguna banget. Maka dari itu juga, dipostingan ini aku sertakan paket instalasi yang bisa di download. Isinya mencakup script Lazy Installer, source asli pluginnya, file readme, lisensi GPL, instalasi wordpress (2.3.3 dan 2.5 versi indonesia, secara 2.5 ternyata kurang user friendly), paket useful wp-plugins, instalasi gregarius aggregator. Silahkan buat yang mo ngejajal dan mengembangkan script ini lebih lanjut bisa diunduh dibawah.
Unduh lazy-01-beta.rar
Permalink
March 11, 2008 @ 10:47 pm
· Filed under isenk, /localhost, Themes, Themes, PHP
Kantor baru, new look…
Ini adalah proses percobaan sayah yang nomor 2 , ngebuat themes minimalis…
Semua di desain dan di buat di atas NVU. Sebenernya dah dibuat waktu masih kerja di kantor yang lama , tapi lom sempet diupload kesini karena satu dan lain hal.
Themes ini di insprasi sama themes mark shuttleworth dan juga dari themesnya Sir Mbilung MacNdobos
Well, how do i look ??? yang saya butuhkan sekarang adalah input - input dari sodara - sodara sekalian… Klo mau minta, sok atuh, tapi jangan salahkan saya klo gak jalan
, ini masih tahap Alpha Stage koq.

Permalink
November 8, 2007 @ 7:54 pm
· Filed under Zend, IBM, Framework, PHP
Maaf jika memang terkesan katro’, karena kenyataan memang begitu
. Mungkin, aku termasuk yang ketinggalan dalam urusan ini. Sudah lama memang dengar dengan yang namanya Zend itu, yang kata banyak orang Zend itu memproduksi semacam framework berbasis PHP, dan memang itulah adanya. Secara tidak sengaja (ehh apa sengaja ya), beberapa waktu yang lalu aku main ke kantor IBM di Gedung Land Mark. Di sana sudah banyak orang-orang yang terlihat serius dan pintar-pintar mendengarkan presentasi dari pejabat IBM. Orang-orang tersebut berasal dari PHPUG, komunitas pengguna PHP Indonesia. Aku kesitu bukan sebagai komunitas PHP, tapi ya sekedar ingin tahu aja..hehhehhee. Karena memang belum bergabung dengan komunitas ini.
Ternyata, isi dari presentasi-presentasi tersebut kurang lebih adalah kerjasama antara IBM dengan Zend, perusahaan berbasis PHP, untuk bundling IBM System i Family dengan Zend yang berada di dalamnya. Disitu dipaparkan kelebihan masing-masing dan juga setelah dibundling. Zend, sebagai perusahaan pengembang PHP memiliki cabang di berbagai negara, untuk Indonesia dipercayakan kepada PT. Rynet.
Nah, di dalam modul materi yang diberikan, ternyata terselip DVD berisi beberapa produk dari Zend, Mulai dari yang free hingga free trial. Seperti biasa, di akhir acara ada sesi doorprize, aku sih biasa-biasa saja dalam arti gak terlalu mengharapkan dapat, karena doorprize nya hanya seperti flash disk dan teman-temannya..Kalau doorprize nya seperti handphone, laptop, baru deh harap-harap cemas.hehheheheh. Ehhh,,,,tak disangka tak dinyana (sopo ngiro, sopo nyono), secara sekilas aku melihat kartu namaku diambil dari fishbowl, ternyata memang benar itu kartu namaku dan namaku segera dipanggil. Hahhh….aku mendapat doorprize utama berupa software Zend Guard yang katanya senilai sekitar 250an dolar gitu. Surprize bercampung binun gitu…..
(more…)
Share This
Permalink
November 6, 2007 @ 1:10 am
· Filed under symfony web framework, symfony, PHP
Yesterday we have try to build a simple application based on symfony, now we’ll try to make those apps more usable what we have left now is user management
the sequence if users want to make a movie reviews is
- user login to the apps
- user pick which movie he / she want to review
- he / she put some review on it
- he can see the reviews.
in the previous sample, we’ve only build the CRUD application, which base of almost every application. To make it simple, we will use a plugin for symfony called sfGuardPlugin. It’s a plugin to ease the pain of user management and save a lot of our time.
first of all you’ve to download the plugin sfGuardPlugin
and follow the instruction found in http://trac.symfony-project.com/attachment/wiki/sfGuardPlugin/
if you succeeded installed the plugin, you should see the login screen when you trying to access your module.
but the page is a plain one, let’s try to change it a little bit first of all you have to create a folder called sfGuardAuth in your module folder, the module folder it self is on the apps/samples
inside of the sfGuardAuth, create a new folder named templates. Now fire up your favorite editor and create a new PHP file, we have to name it signinSuccess.php and secureSuccess.php
let’s create it like this
<?php use_helper('Validation', 'I18N') ?>
<?php use_helper('Javascript') ?>
<div id="login" style='position: relative;margin: 5em auto 1em;padding: 20px 0 0;width: 425px;'>
<?php echo form_tag('@sf_guard_signin') ?>
<div class="form-row" id="sf_guard_auth_username">
<?php
echo form_error('username');
echo "<p>";
echo label_for('username', __('username:'));
echo "<br/>";
echo input_tag('username', $sf_data->get('sf_params')->get('username'));
echo "</p>";
?>
</div>
<div class="form-row" id="sf_guard_auth_password">
<?php
echo form_error('password');
echo "<p>";
echo label_for('password', __('password:'));
echo "<br/>";
echo input_password_tag('password');
echo "</p>";
?>
</div>
<div class="form-row" id="sf_guard_auth_remember">
<?php
echo label_for('remember', __('Remember me?')),
checkbox_tag('remember');
?>
</div>
<?php
echo submit_tag(__('Sign in'));
echo "<br/>";
echo link_to(__('Forgot your password?'), '@sf_guard_password', array('id' => 'sf_guard_auth_forgot_password'))
?>
</form>
</div>
that’s for the login page, now what we want is user pick the movie and then give their review of the movie.
first of all let’s change the listSuccess.php inside in apps/samples/modules/movie/template, the default identifier from the CRUD generator is ID. So if you click on id, it will go to show page, so we’ll gonna change the listSuccess.php so instead of ID user click on the Movie name.
<?php
// auto-generated by sfPropelCrud
// date: 2007/11/02 14:03:39
?>
<h1>movie</h1>
<table>
<thead>
<tr>
<th>Movie name</th>
<th>Movie synopsis</th>
<th>Movie released</th>
<th>Movie produsen</th>
<th>Movie director</th>
</tr>
</thead>
<tbody>
<?php foreach ($movies as $movie): ?>
<tr>
<td><?php echo link_to($movie->getMovieName(), 'movie/show?id='.$movie->getId()) ?></td>
<td><?php echo $movie->getMovieSynopsis() ?></td>
<td><?php echo $movie->getMovieReleased() ?></td>
<td><?php echo $movie->getMovieProdusen() ?></td>
<td><?php echo $movie->getMovieDirector() ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php echo link_to ('create', 'movie/create') ?>
those are the new listSuccess.php, and we should change a little bit file editSuccess.php,we need to create an hidden field contained user_id add this line below
next is to change the showSuccess.php and this is a new one code snippet.
<?php
....
<hr />
<?php echo link_to('edit', 'movie/edit?id='.$movie->getId()) ?>
<?php echo link_to('list', 'movie/list') ?>
<?php use_helper('Text','Date') ?>
<hr/>
<?php if($reviews) : ?>
<p><?php echo count($reviews) ?> Critic <?php if(count($reviews)>1): ?>s<?php endif; ?>
<?php foreach ($reviews as $review) : ?>
<p><em> Posted by <?php echo $review->getsfGuardUser()->getUserName() ?> On <?php echo format_date($critic->getCreatedAt()) ?> </em></p>
<div class="comment" style="margin-bottom:10px;">
<?php echo simple_format_text($critic->getReviews()) ?>
</div>
<?php endforeach; ?>
<?php endif ?>
<?php echo link_to('Add a review', 'review/create?movie_id='.$movie->getId())
?>
OK we just need to do a little more work in code. let’s edit the action.class.php, this file is inside of apps/samples/movie/action. Edit the function executeShow() to the following
public function executeShow()
{
$this->movie = MoviePeer::retrieveByPk($this->getRequestParameter('id'));
$this->forward404Unless($this->movie);
$c = new Criteria();
$c->add(ReviewsPeer::MOVIE_ID,$this->getRequestParameter('id'));
$c->addAscendingOrderByColumn(ReviewsPeer::CREATED_AT);
$this->reviews= ReviewsPeer::doSelect($c);
}
okay, that would be the last file we need to edit in movie directory. what we need to edit is another action.class.php located in app/samples/module/review and make a little bit change in function executeUpdate() so the function will look like
public function executeUpdate()
{
if (!$this->getRequestParameter('id'))
{
$reviews= new Reviews();
}
else
{
$reviews= ReviewsPeer::retrieveByPk($this->getRequestParameter('id'));
$this->forward404Unless($reviews);
}
$reviews->setId($this->getRequestParameter('id'));
$reviews->setMovieId($this->getRequestParameter('movie_id') ? $this->getRequestParameter('movie_id') : null);
$reviews->setReviews($this->getRequestParameter('reviews'));
$reviews->setRating($this->getRequestParameter('rating'));
$reviews->setUserId($this->getUser()->getGuardUser()->getId());
$reviews->save();
return $this->redirect('movie/show?id='.$reviews->getMovieId());
}
now we’ve done, but the application still need a lot of improvement but i do hope that will give you a hint of how easy is to customize symfony

Permalink
November 2, 2007 @ 2:40 am
· Filed under Web Framework, symfony, PHP
Di Post-an saya sebelum nya kita udah lihat sekilas tentang symfony, dan atas permintaan beberapa teman akhirnya saya putus kan untuk sedikit lebih mendetail tentang perintah perintah nya.
Kemarin kita membahas mengenai aplikasi untuk mereview film, mari kita lanjutkan pembahasan kemarin.
Lakukan ini di konsole / command prompt di directory tempat kita menyimpan symfony.
%SYMFONY% adalah tempat kita menyimpan symfony
langkah pertama ada inisialisasi module di symfony
-
C:\>%SYMFONY%\symfony init-app samples
Movie One to Many Review
User One to Many Review
Review Many to One User
Review Many to One Movie
maka kita akan mendapatkan rancangan database seperti ini :

Perhatikan di aplikasi diatas table name untuk user adalah sf_guard_user, sf_guard_user adalah salah satu table yang di gunakan oleh sfGuardUser salah satu plugin symfony, plugin ini di gunakan untuk authorisasi user.
langkah selanjut nya adalah merubah file yang ada di config/schema.yml menjadi seperti ini :
-
—
-
propel:
-
movie:
-
_attributes: { phpName: Movie }
-
id:
-
movie_name: varchar(50)
-
movie_synopsis: longvarchar
-
movie_released: date
-
movie_produsen: varchar(100)
-
movie_director: varchar(50)
-
created_at:
-
-
review:
-
_attributes: { phpName: Review }
-
id:
-
movie_id:
-
user_id: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade }
-
reviews: longvarchar
-
rating: varchar(5)
-
created_at:
Perhatikan bahwa untuk tipe data String di symfony kita harus masukkan sebagai varchar atau longvarchar perbedaan antara varchar dengan longvarchar adalah banyaknya karakter, varchar maksimum hanya 255 diatas 255 gunakan longvarchar. Dan jangan lupa bahwa yml sangat sensitive dengan masalah spasi, dan juga tidak boleh ada tab. Sesuaikan editor anda untuk memakai 4 spasi menggantikan satu kali tab.
Setelah file di ubah, dan di simpan, maka yang harus kita lakukan adalah meng generasi kan database untuk symfony.
-
C:\>%SYMFONY%\symfony propel-build-model
Perintah ini berfungsi untuk membangun model atau object dari schema.yml, model ini lah nanti yang akan berfungsi menjadi DAO
-
C:\>%SYMFONY%\symfony propel-build-sql
Perintah yang satu ini berfungsi untuk membuat perintah perintah sql dari schema.yml
-
C:\>%SYMFONY%\symfony propel-insert-sql
Setelah di buat perintah perintah sql lalu di eksekusi melalui perintah diatas.
Dan selanjutnya kita akan coba meng generasi kan model model yang telah kita buat melalui perintah diatas. Dengan perintah berikut
-
C:\>%SYMFONY%\symfony propel-generate-crud samples movie Movie
untuk melihat nya kita harus membuka browser lalu buka url http://localhost/samples/web/samples_dev.php/movie/list
Direktori samples merupakan root direktori dari symfony
Contoh: List dari database movie yang kita buat.
-
C:\>%SYMFONY%\symfony propel-generate-crud samples review Review
Perhatikan juga bahwa semua relationship di form tersebut sudah di solve dengan cara memberikan combobox.
Contoh: List dari database movie yang kita buat.
Perintah ini untuk membersihkan cache dari symfony… biasakan setelah melakukan perubahan kita melakukan clear cache
Yup That’s it for today
Permalink
October 31, 2007 @ 1:59 am
· Filed under symfony web framework, symfony, PHP, Uncategorized
Mungkin rekan rekan semua udah ada yang pernah denger symfony web application framework
Based on the best practices of web development, thoroughly tried on several active websites, symfony aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.
di website nya bilang begituh… well anyway mari kita coba coba belajar symfony….
langkah nya cukup gampang koq
1. Download
Untuk intial project disarankan untuk mendonlot sf_sandbox. Kenapa ? karena di sandbox itu semua requirement nya symfony udah tersedia. Jadi tinggal pake dan utak atik…
2. Set PHP
Langkah berikutnya kita set PHP biar bisa di panggil lewat konsole. Klo di windows itu di Start->Setting->Control Panel->System->Advanced Options->Environment Variables lalu cari variable Path, lalu edit… tambahkan %PATH%:$PATH_TO_PHP … $PATH_TO_PHP itu tempat kita taruh php.exe
database
Sekarang kita akan coba membuat aplikasi database dalam hal ini kita coba buat aplikasi movie Review…
Didalam perencanaan nya kita ingin ada Movies, Movies bisa direview oleh banyak User, Setiap User bisa Mereview banyak movie sehingga kita dapatkan dua database dengan hubungan many to many. Untuk mempermudah kita buat satu table untuk membantu kita yaitu table review…
Jadi table kita menjadi
Movie One to Many Review
User One to Many Review
Review Many to One User
Review Many to One Movie
Untuk memperkirakan field database kita gunakan asumsi-asumsi…
Movie
Setiap Movie pasti ada judul, produsen, sutradara, tanggal release movie nya, sama sinopsis.
User
Setiap User punya user, password, etc….
Review
Ada Movie, ada User yang mereview, ada isi review, tanggal review, sama rating….
Saya kira segitu cukup untuk memberikan gambaran bagaimana database yang akan kita buat.
Untuk database di symfony sendiri, standardnya menggunakan
Propel
Propel ada sebuah ORM ( Object Relational Mapping ), yang menurut saya sih sangat membantu, yah lumayan lah walau klo di bandingkan dengan hibernate di Java masih kalah.
Sedikit mengutip dari Wikipedia :
Object-Relational mapping (aka O/RM, ORM, and O/R mapping) is a programming technique for converting data between incompatible type systems in databases and object-oriented programming languages. This creates, in effect, a “virtual object database” which can be used from within the programming language Wikipedia
Untuk mengedit database di symfony edit sebuah file di folder config/schema.yml
kira kira ini isi nya
propel:
movie:
_attributes: { phpName: Movie }
id:
movie_name: varchar(50)
movie_detail: longvarchar
movie_length: varchar(10)
movie_status: varchar(25)
movie_genres: varchar(50)
movie_released: date
movie_rating: varchar(100)
movie_distributors: varchar(50)
movie_production_co: varchar(50)
movie_studio: varchar(50)
movie_location: longvarchar
movie_produced_in: varchar(50)
created_at:
critics:
_attributes: { phpName: Critics }
id:
movie_id:
reviews: longvarchar
rating: varchar(5)
user_id: { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade }
created_at:
harap di perhatikan kalau settingan ini sangat sensitive masalah spasi , dan tidak boleh pake TAB
setelah di simpan
lalu coba buka directory symfony melalui konsole lalu ketik :
C:\>symfony propel-build-model
C:\>symfony propel-build-sql
C:\>symfony propel-insert-sql
dan viola!!! jadi deh database nya … default dari sandbox memakai sqllite…
CRUD
CRUD ada lah aplikasi dasar dalam PHP yang fungsinya hanya untuk Create Read Update Delete jadi untuk mempermudah dan mempercepat kita gunakan generator bawaan dari symfony…
C:\>symfony propel-generate-crud frontend movie Movie
C:\>symfony propel-generate-crud frontend critics Critics
C:\>symfony cc
frontend perintah di atas adalah nama aplikasi nya ….
movie adalah nama script nya sedangkan Movie adalah nama object nya..
– phpName: Movie di schema.yml —
symfony cc adalah perintah untuk membersihkan cache nya symfony…
lalu coba buka browser .. lalu buka url
http://localhost/sf_sandbox/web/frontend_dev.php/movie
jika semua langkah nya tepat seharusnya keluar

well segitu aja dulu sekarang … kita lanjutin lain waktu
Permalink
October 3, 2007 @ 7:47 am
· Filed under seminar, sms, pandi, email, Umum, Narsis, PHP
Ini akhir dari trilogi tulisan yang sebelumnya dan yang sebelumnya lagi.
Sebelumnya, ak tanya dulu buat blogger yang baca posting ini, sudah baca cerita sebelumnya?? atw yang sebelumnya lagi?? Klo blom, mending buruan baca dulu, biar nyambung. (promosi biar kejebak baca cerita gak bermutu
)
Tentang Offline Message:
Dapet offline message melalui Y!M oleh xel (salah satu moderator di Forum SFC) yang menyatakan:
KOPDAR dan BUKBER hari Minggu tanggal 7 Oktober, kumpul jam 5 sore.
Nah, bermodal info tsb, ak buat akhirnya poster:

Maklum, sebagai admin, minimal ak muncul. Biar para anggota tau klo: Oh, ini toh yang namanya rd Limosin. (more…)
convert this post to pdf.
Permalink
October 1, 2007 @ 1:24 am
· Filed under SEO, Tag, Category, blogger, Wordpress, PHP
Hal baru yang ada di versi terbaru Wordpress 2.3 adalah ditambahkannya fasilitas TAG untuk penanda artikel pada blog. Selama ini kita hanya mengenal category untuk menandai artikel yang merupakan inti topik artikel. Sebelumnya, saya juga menganggap bahwa category itu sama dengan tag dalam arti memiliki fungsi yang sama. Tag ini kalau dalam engine blogger.com diberi sebutan dengan label. Tapi setelah mencoba WP 2.3, saya menjadi surprise bahwa ternyata category dan tag itu adalah suatu hal yang berbeda. Meskipun tidak ada kaitannya dengan ibadah di bulan Ramadhan, tapi Category dan Tag di Wordpress telah “kembali ke fitrah” dengan kembali ke definisi dan fungsi dasar masing-masing.
(more…)
Permalink
September 28, 2007 @ 1:06 am
· Filed under xampp, Programs & Scripts, Pengumuman, PHP

Pernah pake XAMPP?? itu loh, tools yang membundel komponen-komponen penting untuk belajar PHP.
Males jelasin tentang XAMPP, lebih lanjut ke sini aja deh atw ke sini.
Nah, ak sudah buat XAMPP versi Indonesia, sudah lumayan lama sih buatnya, kira² setahun yang lalu. Cuma lupa untuk diposting ke sini.
Nah, buat blogger yang ingin tau bagaimana cara untuk meng-Indonesia-kan XAMPP Anda, tinggal klik di PHP in RuangKopi. Klo gak mau, ya udah gag usah menuju ke TKP.
Btw, mohon maaf jika translate-nya agak² kacau, maklum meng-Indonesia-kan kata² di bidang komputer sangatlah sulit.
convert this post to pdf.
Permalink
September 12, 2007 @ 2:28 am
· Filed under PHP, Diary
Sebetulnya sudah mau diposting sehari setelah acara Gathering KPHPI V selesai diadakan, hanya kok ndilalah ada saja halangan, ya internet di rumah mati, ngantuk, kerjaan dsb. Alhamdulillah acara yang disponsori oleh Zend Technologies dan PT.Rynet Cipta Teknologi di hari Sabtu, 8 September 2007 kemarin sukses. Sayang, peserta yang datang hanya 40.9% dari 93 [...]
Permalink
September 10, 2007 @ 11:11 am
· Filed under PHP
Lagi lagi, masih ada orang yang tidak mau mentaati apa yang telah disyaratkan untuk menjadi anggota Ruang KoPI. Malam ini atas laporan dari salah satu anggota Ruang KoPI, saya kembali melakukan aksi kejam kepada anggota yang melakukan pelanggaran dengan menghapus account-nya tanpa basa basi. Kenapa saya lakukan ini? Ini semua tidak lain untuk [...]
Permalink
September 5, 2007 @ 2:48 am
· Filed under PHP
Ternyata ada perusahaan yang cukup gila, minimal untuk sementara waktu ini. Perusahaan tersebut menyediakan hosting gratis hingga tahun 2012 dengan space 250MB dengan bandwith 100GB/bulan berikut Cpanel yang juga sudah disediakan. Pemilik account-nya juga diberikan fasilitas untuk host unlimited domain atau menggunakan subdomain yang diberikan secara gratis juga
Permalink
September 2, 2007 @ 4:49 am
· Filed under PHP
Sudah ke-5? Betul. Semula gathering komunitas PHP Indonesia ini hendak diadakan setiap bulan sekali, lalu sesuai dengan perkembangan jaman menjadi 2 bulan sekali . Akhirnya, memang belum jelas apakah akan diadakan setiap bulan sekali, 2 bulan sekali, 6 bulan sekali atau diadakan kalau lagi mau hehehe
Permalink
August 31, 2007 @ 8:27 pm
· Filed under PHP
Berikut script pertama untuk memulai perjalan PHP ini:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>Bookmark Saya</title></head>
<body>
<?phpecho "Bookmark Saya";?>
</body>
</html>
Salah satu yang membuat PHP sangat populer, scriptnya bisa disisipkan di HTML.
untuk menyisipkan scrip php bisa menggunakan:
<?php//Script Anda?>
atau dengan cara short tag
<?//script Anda?>
Komentar itu perlu
Ada baiknya menuliskan [...]
Permalink
August 31, 2007 @ 6:50 pm
· Filed under PHP
Setelah membaca linknya om Riyo Panduan belajar PHP, jadi berpikir untuk mendokumentasikan proses belajar saya (siapa tahu bias berguna buat orang lain).
Pertama-tama adalah instalasi webserver, MySQL dan PHP. Karena saya mau belajar PHP dan MySQL/SQLite, untuk sementara saya tidak mau dipusingkan dulu dengan urusan server, instalasi webserver (apache), database(mysql), dan PHP tentunya.
Permalink
August 22, 2007 @ 8:02 am
· Filed under PHP, Diary
Setelah bulan lalu memutuskan untuk membeli hosting plan Crazy Domain Insane di Dreamhost, yang saya rasakan adalah penyesalan yang tiada terhingga. Ya! Saya menyesal kenapa baru sekarang menggunakan hosting tersebut Dreamhost menyediakan hampir semua hal yang tidak pernah saya dapatkan dari hosting saya yang lama, baik dari sisi space & bandwith, performa, fasilitas [...]
Permalink
August 21, 2007 @ 7:46 am
· Filed under PHP, Diary
Judul yang seperti alamat email ini sebenarnya bukan alamat email, tetapi nama dari aggregator yang saya buat khusus bagi mereka anggota Ruang KoPI yang memiliki blog. Jadi, selain diberi fasilitas hosting untuk digunakan sebagai ruang belajar PHP, lalu juga milis khusus Ruang KoPI, para anggota Ruang KoPI juga saya himbau (yang juga saya tuangkan [...]
Permalink
August 14, 2007 @ 9:41 pm
· Filed under Log, PHP
Saya menemukan tempat menarik dimana kita bisa mendownload banyak sekali buku-buku elektronik dari mulai PHP, Java, CSS, MySQL, AJAX, dsb.
Bahkan buku untuk topik-topik lain seperti managemen, kesehatan, fotografi pun tersedia juga.
Silahkan kunjungi http://www.dbebooks.com/
Permalink
August 5, 2007 @ 8:13 am
· Filed under PHP
Akhirnya saya buat dengan sangat sederhana, RuangKoPI.com adalah Ruang Komunitas PHP Indonesia yang saya persembahkan untuk mereka pecinta PHP di Indonesia. Melalui Kejutan PHPers Indonesia versi 2.0 dan Kejutan Untuk PHPers Indonesia, penghuni Ruang KoPI (baik yang masih menunggu maupun yang sudah memiliki) saat posting ini dibuat telah berjumlah 29 orang atau sudah 41% [...]
Permalink
July 28, 2007 @ 3:11 pm
· Filed under PHP
Melihat animo yang begitu besar atas posting saya sebelumnya (Kejutan Untuk PHPers Indonesia), maka saya memutuskan untuk melakukan sedikit perubahan terhadap fasilitas dan syarat sebelumnya. Kali ini saya akan menaikkan kejutan yang saya berikan sebelumnya, yakni hosting dengan space 1GB menjadi 2GB (yang akan bertambah 0.05GB/bulan) bandwith 18GB/bulan (yang akan bertambah 0.8GB/bulan). [...]
Permalink
July 25, 2007 @ 10:03 am
· Filed under PHP
Saya ingat ketika untuk pertama kalinya belajar PHP, yang saya pikir saat itu adalah saya tidak memiliki web server untuk mempraktekkan apa yang akan saya pelajari. Dari situlah saya akhirnya mencari beberapa server gratisan yang mendukung PHP dan MySQL ( … waktu itu saya tidak tahu kalau hal tersebut bisa dipraktekan di PC menggunakan [...]
Permalink
June 16, 2007 @ 2:21 am
· Filed under PHP
Bandung adalah PHP Framework yang dibuat untuk memudahkan para developer dalam membangun aplikasi berbasis web, baik aplikasi berskala kecil maupun aplikasi berskala besar. Dibuat dan dipikirkan lebih dari 5 tahun setelah pembuatnya belajar dari kesalahan yang dilakukan pada script BedengPSP (baca: BedengPSP .. Gila).
Semula, Bandung ini dibuat hanya untuk kepentingan pembuatan content management system [...]
Permalink