ajaxFunction

ajaxFunction(val,ajaxDiv,urlAjax)

val = nilai yang hendak dihantar.
ajaxDiv = id div di mana data ajax mahu dipaparkan.
urlAjax = path fail yang memproses

Cth :-

onclick=”ajaxFunction(this.value,’divFac‘,’ajax/ajax.fac.php‘)”

di fail ajax.fac.php

$entity = $_GET[‘val’];  // val akan terima value yang dihantar.
$sqlfac = “SELECT DISTINCT a.fac_code, a.fac_name ”
. “FROM ta_faculty a ”
. “INNER JOIN ta_courselist_bank b ON a.fac_code = b.fac_code ”
. “WHERE b.entity=’$entity’ AND a.fac_sts=’A’ “

Droplist lebih 1 field display

$entity = $_GET[‘entity’];
$fac = $_GET[‘val’];

$sqlcourse = “SELECT DISTINCT course_code,course_code || ‘ – ‘ || course_name_bi || ‘ (‘ || course_name_bm || ‘)’ AS course_name
FROM ta_courselist_bank
WHERE entity=’$entity’ AND fac_code=’$fac’
ORDER BY course_name”;

Db::droplist($sqlcourse, ‘course_code’, ‘course_code’, ‘course_name’, @$course_code, ‘lebar paddl050′,’:: Choose Course’);

Tambah tahun, bulan, hari dalam tarikh

Tambah 5 tahun : select now() + INTERVAL ‘5’ year;

Tambah 5 bulan : select now() + INTERVAL ‘5’ month;

Tambah 5 hari : select now() + INTERVAL ‘5’ day;

Tambah tahun, bulan & hari : select now() + INTERVAL ‘5’ year + INTERVAL ‘5’ month + INTERVAL ‘5’ day;

 

The Differences Between require And require_once

The Differences Between require And require_once

require() includes and evaluates a specific file, while require_once() does that only if it has not been included before (on the same page).

So, require_once() is recommended to use when you want to include a file where you have a lot of functions for example. This way you make sure you don’t include the file more times and you will not get the “function re-declared” error.

Sumber : http://stackoverflow.com/questions/27867485/the-differences-between-require-and-require-once-in-php

PHP include and require Statements

PHP include and require Statements

It is possible to insert the content of one PHP file into another PHP file (before the server executes it), with the include or require statement.

The include and require statements are identical, except upon failure:

  • require will produce a fatal error (E_COMPILE_ERROR) and stop the script
  • include will only produce a warning (E_WARNING) and the script will continue

So, if you want the execution to go on and show users the output, even if the include file is missing, use the include statement. Otherwise, in case of FrameWork, CMS, or a complex PHP application coding, always use the require statement to include a key file to the flow of execution. This will help avoid compromising your application’s security and integrity, just in-case one key file is accidentally missing.

Sumber : http://www.w3schools.com/php/php_includes.asp

Sql with union on table_list_grid

$table = “(
SELECT DISTINCT
a.a_id, a.a_title, a.a_filling_no, (SELECT as_insert FROM app_status WHERE as_a_id=a.a_id AND as_rs_id=’1′) AS as_insert, a.a_name, a.a_faculty, d.rc_name, a.a_financial_cost, b.as_rs_id, c.rs_type, c.rs_status,’baru’ data_from
FROM
application a, app_status b, ref_status c, ref_country d
WHERE
a.a_id=b.as_a_id AND a.a_country_rc_code=d.rc_code AND b.as_rs_id=c.rs_id AND b.as_id in (SELECT MAX (x.as_id) FROM app_status x, ref_status y WHERE x.as_a_id = b.as_a_id AND x.as_rs_id=y.rs_id GROUP BY y.rs_type) AND b.as_rs_id IN (’11’,’12’,’14’,’16’,’17’)
union
SELECT
a.ip_id a_id, b.ipdetail_title a_title, NULL a_filling_no, ip_filedyear AS as_insert,c.projectleader_name a_name, d.faculty_name a_faculty, e.countryfiling_name rc_name,NULL a_financial_cost,NULL as_rs_id,NULL rs_type, f.ipstatus_name rs_status, ‘lama’ data_from
FROM
web_ip a
JOIN web_ipdetail b ON a.ip_id=b.ip_id
JOIN web_projectleader c ON b.projectleader_id=c.projectleader_id
LEFT JOIN web_faculty d ON CAST (C .faculty_id AS text) = CAST(d.faculty_id AS text)
LEFT JOIN web_countryfiling e ON a.countryfiling_id=e.countryfiling_id
LEFT JOIN web_ipstatus f ON a.ipstatus_id=f.ipstatus_id
WHERE 1=1
) as rs”;
$field = ‘*’;
$condition = “1=1”;
$order = ‘a_id’;

$data = Pg::table_list_grid($_REQUEST, $table, $field, $condition, $order,’10’);

Create auto-increment field

CREATE TABLE user_roles (
“ur_id” int4 serial NOT NULL,
“ur_ud_icno” varchar(25) COLLATE “default”,
“ur_rrr_id” int2,
“ud_id” int4,
“ur_status” int2 DEFAULT 1)

Alter column with change type

ALTER TABLE web_ip_dateupdate ALTER COLUMN ip_filedyear TYPE date USING (to_date(ip_filedyear,’YYYY-MM-DD’)::date);

ALTER TABLE web_ip_dateupdate ALTER COLUMN ip_id TYPE integer USING (ip_id::integer);

“RUMAH LELONG VS RUMAH SUBSALE” – FULL VERSION

Masih ZERO ‘STEP BY STEP’ pembelian rumah Lelong atau rumah Subsale?? Silakan membaca..

● Pembelian rumah LELONG dan rumah SUBSALE adalah sedikit BERBEZA dari segi permulaan wang deposit, tempoh masa dan syarat kelulusan memindahmilik.

● Perkara asas yang perlu diteliti oleh pembeli adalah dari segi syarat kelayakan pinjaman @ pembiayaan perumahan (kecuali pembelian cara tunai), lokasi, harga rumah, rekabentuk, keadaan fizikal serta kos yuran guaman.

● Disini diterangkan FULL ‘STEP BY STEP’ bagaimana langkah-langkah terperinci perlu diambil.

*****

PENGENALAN RUMAH LELONG;
==============================
● Rumah lelong adalah rumah yang dijual oleh bank ataupun sesuatu pihak individu melalui Lelongan Awam yang diadakan di Mahkamah Tinggi, Pejabat Tanah atau ditempat lelongan awam (bilik, pejabat, dewan atau hotel) dan sebagainya.

SEBAB RUMAH DILELONG;
==============================
● Bagi kes bank lelong, kebiasaannya disebabkan tuan rumah / peminjam GAGAL membayar tunggakan ansuran dalam tempoh yang dijanjikan kepada pihak institusi kewangan.

● Pihak bank akan memohon kebenaran dari pihak Mahkamah dan melantik pelelong sebagai wakil jualan dalam menjualkan sesuatu hartanah.

● Hartanah yang dilelongkan biasanya dijual dengan permulaan harga Rizab 20%-50% lebih rendah dari harga pasaran semasa.

● Pembeli perlu membuat bidaan harga bersama penawar-penawar lain (jika ada) melalui pelelong berlesen.

****

PROSEDUR PEMBELIAN RUMAH LELONG;
==============================

● Info hartanah atau rumah yang bakal dilelong oleh Mahkamah atau Pejabat Tanah biasanya boleh didapati dalam kenyataan iklan Surat khabar.

● Selain itu juga, boleh dilihat melalui laman web portal atau rujuk web lelongan hartanah 1 Malaysia: http://bitly.com/buylelong

● Sebaiknya gunakan khidmat bantuan Ejen Lelong bagi mendapatkan maklumat senarai rumah lelong terkini.

● Dapatkan lokasi alamat rumah yang bakal dilelong serta lawati sendiri ke lokasi rumah (jika perlu). Rujuk maklumat kepada Ejen Lelong.

● Dapatkan info atau salinan Surat Perisytiharan Jualan Lelongan @ Proclamation of Sale (P.O.S) dan Conditions of Sale (C.O.S).

● Pastikan tarikh lelong masih belum terlepas. Sebaik-baiknya 3 hari sebelum lelongan bermula.

● Dalam tempoh itu, bakal pembeli boleh membuat tinjauan sendiri, semakan atau carian dan menyediakan wang deposit secukupnya.

● Baca dan fahamkan segala syarat-syarat jualan dan kelayakan dalam P.O.S.

*****

PERKARA PENTING PERLU TAHU DALAM P.O.S;
√ Tarikh dan masa lelongan.
√ Lokasi tempat lelong diadakan.
√ Pihak bank mana yang melelong.
√ Wakil peguam yang melelong.
√ Jenis hartanah atau rumah dibina.
√ Saiz keluasan. Jumlah Rumah bangunan bertingkat atau tidak.
√ Jenis pegangan hartanah (Pajakan atau Hakmilik Kekal)
√ Mukim @ Daerah mana Geran dikeluarkan.
√ Berapa lama usia hartanah tersebut dibangunkan.
√ Nama pemaju. Adakah syarikat tersebut masih wujud.
√ Nilai deposit yang diperlukan (5% atau 10%).
√ Deposit dalam bentuk Bank Deraf atas nama bank atau individu.
√ Bil utiliti atau cukai yang perlu ditanggung oleh pembeli.
√ Tempoh penyelesaian baki pembelian (90 atau 120 hari).
√ Lain-lain kos atau risiko yang perlu ditanggung oleh pembeli.

● Periksa keadaan rumah lelong samaada ia berpenghuni atau tidak serta lain-lain keadaan kerosakan jika ada. Selain itu, lihat keadaan kejiranan dan persekitaran sekeliling.

● Buat kajian nilai harga pasaran rumah lelong yang hendak dibeli. Bandingkan dengan harga jualan lelongan. Adakah lebih jimat dan berbaloi jika dibeli.

● Buat semakan carian hakmilik status hartanah di Pejabat Tanah + Pemaju, bil Air + Elektrik, cukai Taksiran, cukai Tanah dan yuran penyelenggaraan (jika ada).

● Gunakan khidmat bantuan Ejen Lelong yang berpengalaman jika kurang pengetahuan atau tiada masa atas kesibukan kerja.

● Elakkan membeli sebarang hartanah lelong yang berstatus Kaveat (rujuk info tentang Kaveat di bawah).

● Sekiranya berminat, sediakan deposit wang tunai 5%-10% daripada harga Rizab mengikut syarat ditetapkan. Contoh: Harga Rumah: RM100,000.00 x 10% = RM10,000.00.

● Keluarkan wang deposit dalam bentuk Bank Deraf mengikut ke atas penama penuh bank yang melelong. Contoh nama Maybank: Malayan Banking (M) Berhad.

● Pastikan tiada kesalahan amaun dan ejaan nama pada Bank Deraf bagi mengelakkan pendaftaran penawaran ditolak semasa hari lelong.

● Bajet berapa nilai maksima harga yang mahu dibida. Elakkan membida sesuatu rumah lelong melebihi nilai harga pasaran semasa.

● Sediakan lebihan wang tunai dalam anggaran 5% untuk bayaran kos yuran guaman dan perbezaan kenaikan harga jika menang bidaan.

PROSEDUR MEMBIDA;
● Hadir semasa pendaftaran hari lelongan dilakukan. Sekurang-kurangnya 30 minit lebih awal.

● Pada waktu acara lelongan bermula, sesi pengumuman dan soal jawab dilakukan oleh pelelong.

● Pelelong meletakkan syarat-syarat jualan sebelum lelongan bermula.

● Kenaikan tawaran harga dibuat dalam satu jumlah amaun yang ditentukan oleh pelelong.

● Cara bidaan harga biasanya adalah secara lisan, mengangkat tangan atau menunjukkan kad nombor pembida (Paddle).

● Penawar yang membuat bidaan harga paling tinggi dikira pemenang setelah pelelong mengetuk penukul sebanyak 3 kali ‘panggilan’ sebagai tanda muktamad.

● Penawar yang berjaya perlu menandatangani surat perjanjian Kontrak Jualan.

● Penawar yang tidak berjaya akan dikembalikan wang depositnya. Sila cuba lagi di lain masa dan jangan berputus asa.

MENANDATANGANI SURAT KONTRAK JUALAN
==============================

● Penawar yang berjaya akan menandatangani kontrak jualan dan perlu membayar lebihan perbezaan baki deposit termasuk bayaran Stamping Duty sebanyak RM100.00.

● Kasyier Order atau Bank Deraf pembeli yang berjaya akan didepositkan sebagai sebahagian wang cengkeram deposit.

● Baki wang deposit boleh dibayar secara tunai atau cek peribadi. Sesetengah kes lelongan, amaun tersebut boleh dimasukkan ke dalam pakej pinjaman perumahan.

● Kontrak jualan akan menjadi suatu kontrak jualan yang mengikat setelah ditandatangani pembeli.

● Pembeli perlu menyelesaikan baki harga belian samaada dalam bentuk pinjaman bank atau secara tunai dalam tempoh yang ditetapkan.

● Sekiranya pembeli membuat pinjaman @ pembiayaan dari bank, lakukan permohonan dengan segera.

● Setelah permohonan pinjaman bank diluluskan (biasanya dalam tempoh 14 hari), surat tawaran bank (Letter Offer) dikeluarkan.

● Pembeli perlu melantik peguam yang bertauliah bagi menguruskan proses pemindahan hakmilik.

● Dapatkan sebut harga yuran guaman (Legal Fees + Stamping Duty) dari peguam terlebih dahulu. Minta bantuan Ejen Lelong memperkenalkan peguam sekiranya perlu.

● Sekiranya pembeli gagal membuat pinjaman bank dalam tempoh yang diberikan, risiko wang deposit tidak akan dipulangkan oleh pihak bank tersebut.

● Pembeli boleh membuat rayuan untuk penangguhan masa jika perlu. Tetapi penalti atas kelewatan akan dikenakan.

● Sekiranya bil tunggakan rumah tersebut sudah dijelaskan, pembeli boleh menuntut balik kos tersebut kemudian bagi sesetengah kes bank lelong.

*****

PENGENALAN RUMAH SUBSALE;
==============================
● Rumah Subsale bermaksud adalah rumah jual (Second Hand / Sekunder / Secondary Market).

● Biasanya ia dijual oleh pemilik berdaftar sesuatu individu atau pun syarikat.

● Pembeli berurusan dengan penjual atau melalui wakil penjual (contohnya melalui Ejen @ Perunding Hartanah).

PROSEDUR PEMBELIAN RUMAH SUBSALE;
==============================

● Pembeli perlu tahu lokasi dan jenis rumah yang sesuai diduduki atau dilaburkan mengikut kemampuan atau bajet harga belian.

● Buat carian iklan jualan rumah melalui web portal iklan. Buat tapisan lokasi dan bajet harga. Contohnya Mudah.my, Propertyguru.com.my

● Sebaiknya buat kajian iklan rumah jual pada harga yang rendah dari harga ‘Market Value’ (pasaran semasa).

● Sebaiknya gunakan khidmat bantuan Ejen / Perunding Hartanah bagi mendapatkan maklumat dan nasihat pandangan.

● Pastikan individu tersebut adalah dari syarikat Real Estate Agency berdaftar bagi mengelakkan sebarang penipuan individu yang tidak bertanggungjawab.

● Pembeli tidak perlu risau tentang bayaran komisen. Professional Fee Ejen / Perunding Hartanah dibayar oleh pihak penjual.

● Dapatkan maklumat lebih terperinci untuk tujuan ‘valuation’ melalui penjual atau Ejen. Hubungi atau berjumpa pegawai bank @ ‘Valuer’ untuk kepastian harga rumah (jika perlu).

● Buat temujanji dengan penjual atau Ejen untuk melawati (viewing) rumah tersebut.

● Periksa keadaan rumah. Adakah rumah tersebut mengikut spesifikasi di dalam dokumen Geran atau Sales & Purchase Agreement penjual.

● Adakah status hartanah tersebut sudah dikeluarkan “Strata / Individual Title”. Atau ia masih lagi “Master Title” (Geran besar).

● Perlu tahu, adakah penjual mempunyai pinjaman dengan bank atau tidak.

● Rujuk bank mana yang dibuat pinjaman oleh penjual. Adakah mempunyai tunggakan ansuran bulanan.

● Sekiranya ada, apakah rumah tersebut akan bakal dilelongkan. Hal ini adalah penting untuk diketahui.

● Selain itu juga, adakah terdapat Kaveat di atas hak miliknya atau tidak (rujuk info tentang Kaveat di bawah). Jika ada, dinasihatkan agar berfikir terlebih dahulu atau dapatkan nasihat dari pakar dan Peguam Hartanah sebelum berniat untuk membeli.

*****

PERKARA PENTING PERLU TAHU;
√ Jenis hartanah atau rumah dibina.
√ Saiz keluasan. Jumlah bilik. Rumah bangunan bertingkat atau tidak.
√ Jenis pegangan hartanah (Pajakan atau Hakmilik Kekal)
√ Mukim @ Daerah mana geran dikeluarkan.
√ Berapa lama usia hartanah tersebut dibangunkan.
√ Nama pemaju. Adakah syarikat tersebut masih wujud.
√ Berapa kos cukai Taksiran, cukai Tanah dan yuran penyelenggaraan bulanan (jika ada).
√ Kaveat (jika ada).

● Sekiranya berminat, cuba berunding harga samaada penjual sudi menurunkan harga atau tidak.

KAEDAH PEMBAYARAN DEPOSIT 10%;
● Pembeli perlu membayar 2%-3% dari harga jualan + 6% GST.

● Bayaran menggunakan Cek / Bank Deraf ke atas nama Agensi Ejen tersebut atau melalui Peguam sebagai wakil orang tengah.

● Jangan membayar secara tunai termasuk atas nama kepada Ejen atau penjual bagi tujuan keselamatan.

● Jika melalui Ejen / Perunding Hartanah, pembeli perlu menandatangani borang “Agreement to Purchase” (A.T.P) dari syarikat agensi Ejen tersebut.

● Semak dan fahamkan klausa-klausa yang terdapat di dalam borang A.T.P.

● Di dalam borang A.T.P, nyatakn sekiranya membeli secara pinjaman / pembiayaan dari bank (wang deposit tersebut akan dipulangkan sekiranya permohonan pinjaman perumahan bank ditolak).

● Gunakan salinan asal borang A.T.P tersebut bagi bertujuan untuk rujukan dan sertakannya bersama dokumen permohonan pinjaman perumahan kepada bank.

● Jika permohonan pinjaman bank sudah diluluskan, pembeli perlu menandatangi surat ‘Loan Agreement’ apabila surat ‘Letter Offer’ dikeluarkan.

● Bagi kes pembelian rumah Subsale, wang deposit akan dipulangkan sekiranya pembeli gagal membuat pinjaman bank. Surat penolakan dari bank diperlukan sebagai tanda bukti.

● Setelah ‘Loan Agreement’ ditandatangani, pembeli perlu melantik peguam hartanah bagi menguruskan dokumen “Sale & Purchase Agreement”, proses penukaran Hakmilik, ‘Disbursement’ dan sebagainya.

● Baki wang deposit sebanyak 7-8% dibayar kepada penjual melalui peguam (sebagai pemegang ‘Stakeholder’) semasa menandatangani “Sales & Purchase Agreement” dalam masa 90 hari yang ditetapkan.

● Bank pinjaman pihak pembeli akan ‘Disburse’kan wang kepada bank pihak penjual dari baki pinjaman penjual (jika ada).

CUKAI @ YURAN GUAMAN PEMBELI & PEMINJAM BANK;
● Lawyer Fees (S&P) = Legal Fee (fixed) + Government Tax (Fixed – 6%) + Stamp Duty (Fixed) + Misc / Expenses / Disbursement.

● Lawyer Fees (Loan) = Legal Fee (fixed) + Government Tax (Fixed – 6%) + Stamp Suty (Fixed) + Misc / Expenses / Disbursement

*****

SEKATAN KEPENTINGAN;
● Sebelum pemindahan hakmilik dilakukan daripada nama penjual kepada nama pembeli, ia hendaklah mendapatkan kebenaran bertulis (Consent) terlebih dahulu daripada kerajaan Negeri jika adanya sekatan-sekatan kepentingan.

● Pihak Berkuasa Negeri adalah merujuk kepada Menteri Besar, Ahli Mesyuarat Kerajaan Negeri (Exco) atau Pejabat Tanah Daerah atau Pejabat Tanah dan Galian Negeri.

CONSENT;
Consent adalah bermaksud Kebenaran pindahmilik. Ianya terpakai bagi rumah jenis Kos Rendah (Low Cost) atau Kos Medium (Medium Cost).

● 2 proses permohonan Consent yang perlu dilakukan di Pejabat Tanah:

i. Consent to Transfer (CTT)
ii. Consent to Charge (CTC)

● Proses memohon Consent tersebut biasanya dilakukan oleh peguam yang menguruskan dokumen “Sales & Purchase Agreement”.

● Proses penukaran hakmilik sepenuhnya bagi jual beli hartanah biasanya akan mengambil masa:

i) Antara 3 hingga 4 bulan bagi hartanah yang tidak perlukan Consent.

ii) Antara 6 hingga 10 bulan bagi hartanah yang perlukan Consent.

● Bagi kes pembelian rumah lelong, syarat kelayakan dan Consent dari kerajaan Negeri adalah tidak terpakai.

● Bagi pembelian rumah lelong jenis Kos Rendah (Low Cost) atau Kos Medium (Medium Cost) pula, pembeli tetap perlu memohon kebenaran dari kerajaan Negeri.

● Kebiasaannya kelulusan dalam tempoh masa 14 hari sahaja berbanding pembelian rumah Subsale yang agak lebih lama.

GADAIAN PEMINJAM BANK;
● Jika rumah tersebut masih digadaikan kepada bank, untuk membolehkan pemindahan hakmilik dibuat, maka gadaian tersebut perlu dijelaskan terlebih dahulu.

KAVEAT;
● Kaveat bermaksud sekatan atau halangan; adalah satu instrumen / alat / mekanisme yang disediakan oleh undang-undang untuk melindungi kepentingan seseorang ke atas urus niaga hartanah miliknya.

● Jika terdapat adanya Kaveat pada hartanah yang mahu dipindahmilik, perlu tahu siapakah yang memasukkan Kaveat tersebut.

● Sekiranya pembeli mahu meneruskan urusan pemindahan hakmilik, penjual hendaklah terlebih dahulu meminta individu atau pihak yang memasukkan kaveat tersebut menarik balik atau membatalkannya.

Sekian, semoga bermanfaat.

LIKE + SHARE + COMMENT #Polo_Fai

——————
– FaiRealty Lelong @ Fai Property Lelong
– E B A N K L E L O N G . C O M

Principles Of MVC for PHP Developers

Why Use Model View Controller

Introduction

Being someone very interested in the principles of MVC (Model-View-Controller), I was amused to see that there is very little written out here on the internet that actually makes sense. Most articles or tutorials use terms like “business logic” without really defining what it means, which makes understanding MVC all the more difficult. Others simply gloss over what an architectural pattern is without really explaining why you would care about it. It is my hope that I can attempt to explain everything you need to know about MVC in the simplest possible way.

My perspective on MVC is through PHP – my scripting language of choice – and I have spent slightly more than 3 years developing scalable, R.A.D. PHP Frameworks. What I have learned about MVC in that time is that it is very powerful, scalable, clean, and if well-coded, robust. The reason that such respected frameworks like Ruby On Rails and Zend Framework use the principles of MVC alone should be a hint that there is something special involved here.

For those of you who are not aware, MVC was originally described in terms of a design pattern for use with Smalltalk by Trygve Reenskaug in 1979. His paper was published under the title “Applications Programming in Smalltalk-80: How to use Model-View-Controller”, and paved the groundwork for most future MVC implementations.

What is MVC?

MVC, or Model-View-Controller is a software architecture, or design pattern, that is used in software engineering, whose fundamental principle is based on the idea that the logic of an application should be separated from its presentation. Put simply, I would say that MVC is simply a better way of separating the logic of your application from the display.

The MVC principle is to separate the application into 3 main parts, known as the Model, the View, and the Controller. Apparent from the diagram are the direct associations (solid lines) and the inferred associations (dashed lines). The inferred associations are associations that might seem apparent from the point of view of the user, and not from the actual software design.

A simple way to think of this would be to consider the following:

  • A user interacts with the view – by clicking on a link or submitting a form.
  • The Controller handles the user input, and transfers the information to the model
  • The Model receives the information and updates it’s state (adds data to a database, for example, or calculates todays date)
  • The View checks the state of the Model and responds accordingly (listing the newly entered data, maybe)
  • The View waits for another interaction from the user.

But what does this mean to you and why should you consider using it?

Well, for starters, MVC has a really good philosophy. The idea that you are separating the logic from the display is not new, but MVC presents the idea nicely. Code presentation and layout are simpler, making your application more maintainable. The view is in the view files, the logic in the template, and the controller handles them all.

Business Logic

This term amuses me, because it implies something is happening that doesn’t really have a definition that can be defined properly. However, it is a simple concept: Business Logic is the process of calculating the logical processes of an application. A simple calendar’s business logic would be to calculate what todays date is, what day it is, and on what day all of the days in this month fall, for example.

Don’t let yourself get bullied by flashy terms. Business logic is the processing part of the application.

Templates

Many MVC frameworks use some sort of template system to enforce the principle of DRY (See Below), making it really easy to re0use code without having to rewrite it.

I have seen MVC frameworks that run on Smarty, or their own template engine, or none at all. A simple warning is that some template engines have rather complicated syntax – check them out before you start developing, you don’t ant to learn a whole new language just to get a page to render.

DRY

Another very good implementation of MVC is the DRY (Don’t Repeat Yourself) philosophy. Essentially, DRY is used by Ruby on Rails and a few other implementations, and the idea is that you write something once and once only, re-using the code. The DRY principle is stated as “Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.”

Correct implementation of DRY would imply that changing one element of the system does not change unrelated elements, which is rather logical. Personally, I think Ruby on Rails pulls this off in the best way, and does it most simply.

Convention Over Configuration

Convention over Configuration is a design paradigm that essentially tries to remove the amount of decisions you, as a developer, need to make. This is achieved by setting up the framework with the conventions that all elements usually require. The developer only needs to change the things that really need to change.

It’s quite simple, if you think about it. Consider a form: it has elements that are always required, and those elements have states that are usually the same. A form has a <form> tag, which defines an action, method, name, id and enctype, for example. Unless you need to change something, it is pretty easy to get the form name, id and action from the url (usually). We can also set all form methods to POST unless otherwise stated. Applying this idea to all elements makes building this type of application very fast, easy and simple.

In Conclusion

As touched on above, MVC is a really good way to begin producing clean, scalable, powerful, fast code in the least amount of time with the least amount of effort. Some MVC frameworks do not contain all of these features, most contain one or two. My advice is experiment with a few MVC frameworks and find one that works for you.

Sumber : http://www.htmlgoodies.com/beyond/php/article.php/3912211