Membuat Aplikasi MVC dengan PHP #4 Controller
Kali ini kita masuk ke komponen CONTROLLER pada aplikasi MVC kita..
—
PLAYLIST OOPHP :
https://www.youtube.com/playlist?list=PLFIM0718LjIWvxxll-6wLXrC_16h_Bl_p
#mvc #programming #objectoriented #php #webprogrammingunpas #ngoding
—
PLAYLIST LAIN:
– HTML Dasar
https://www.youtube.com/playlist?list=PLFIM0718LjIVuONHysfOK0ZtiqUWvrx4F
– CSS Dasar
https://www.youtube.com/playlist?list=PLFIM0718LjIUBrbm6Gdh6k7ZUvPIAZm7p
– Tutorial Sublime Text
https://www.youtube.com/playlist?list=PLFIM0718LjIWE-Ot9V9qcALx5OMAZY67c
– CSS Layouting
https://www.youtube.com/playlist?list=PLFIM0718LjIUu4Ju9GUL5zpLcuq08TKYr
– Dasar Pemrograman dengan JAVASCRIPT
https://www.youtube.com/playlist?list=PLFIM0718LjIWXagluzROrA-iBY9eeUt4w
– Belajar PHP untuk Pemula
https://www.youtube.com/playlist?list=PLFIM0718LjIUqXfmEIBE3-uzERZPh3vp6
– Javascript & DOM :
https://www.youtube.com/playlist?list=PLFIM0718LjIWB3YRoQbQh82ZewAGtE2-3
—
MEDIA SOSIAL
– http://instagram.com/sandhikagalih
– https://www.facebook.com/WebProgrammingUNPAS
– http://codepen.io/webprogrammingunpas
– https://github.com/webprogrammingunpas
– http://twitter.com/sandhikagalih
—
UNIVERSITAS PASUNDAN BANDUNG
http://www.unpas.ac.id/
http://www.if.unpas.ac.id/
terimakasih dan selamat #ngoding!
@sandhikagalih
Membuat Aplikasi MVC dengan PHP #4 Controller
Membuat Aplikasi MVC dengan PHP #4 Controller
Pak sandhika kalo boleh tau, call_user_func_array itu gunanya apa ya ? Saya bingung dengan function tersebut
Warning: require_once(../app/controllers/Home.php): failed to open stream: No such file or directory in C:xampphtdocsphpmvcappcoreApp.php on line 18
Fatal error: require_once(): Failed opening required '../app/controllers/Home.php' (include_path='C:xamppphpPEAR') in C:xampphtdocsphpmvcappcoreApp.php on line 18
ini saya kenapa pak
pak tolong jelaskan lebih detail dari array_values dan call_user_func_aray soalnya saya kurang paham soal itu… makasih pak…
Pak mau bertanya kenapa controller about dan method page/index saya tidak bisa dijalankan ya pak?
Pagi Pak Dosen, terimakasih atas ilmunya sangat bermanfaatan bagi pemula seperti saya, tapi mohon pencerahannya.
di browser tampil:
Parse error: syntax error, unexpected '[', expecting ')' in C:xampphtdocsphpmvcappcoreApp.php on line 36
=============================================
36 call_user_func_array([$this->controller, $this->method], $this->params);
kenapa function index dan page nya gabisa kebaca ya pak? jadi di run sampe about langsung otomatis kebaca default miliknya index, kalau di run di tambah /index malah kebaca masuk ke parameter nama, misalnya di run "http://localhost/phpmvc/public/About/index" ini ke bacanya "hallo nama saya index bla bla bla sesuai defaultnya. tolong di jawab Pak.
pak dhika mau tanya tentang urlnya. ketika saya access url http://localhost/phpmvc/public/ itu yang tampil Home/index menurut saya itu sudah tidak ada masalah pada urlnya , nah ketika saya access http://localhost/phpmvc/public/about/page dan juga http://localhost/phpmvc/public/about/index itu yang tampil tetap Home/index mohon bantuanya pak dhika, karena saya belum berhasil di seri ke-4 Controller dan saya belum bisa melanjutkan ke seri berikutnya saya sudah cek berkali-kali programnya dan sudah sama namun hasilnya belum sama. dimohon bantuanya pak dhika.
pak sandika , ada source codenya tidak? agak susah kalo error ga bisa samain codenya bapak
Pake Extention chrome apa ya biar pesan errornya rapi?
Pernah dikasih tau sama pak dika tapi lupa di video yg mana hehhe
pak mau tanya. kenapa ya controller saya di url tidak jalan kalau huruf depannya tidak kapital ? sedangkan di video bapak bisa berjalan tanpa harus menggunakan huruf kapital ? kira-kira salah dimananya ya pak ? saya sudah menyamakan semua sintaknya dengan yang pak sandika contohkan
Pak kok program file exist tidak berjalan ya? Jadi defaultnya tetap controller = Home wapaupun di url sudah memakai about
Fatal error: Uncaught Error: Class 'Home' not found in D:CodingxmhtdocsmvcappcoreApp.php:19 Stack trace: #0 D:Codingxmhtdocsmvcpublicindex.php(5): App->__construct() #1 {main} thrown in D:CodingxmhtdocsmvcappcoreApp.php on line 19
mohon pencerahannya, aku udah ikutin semua koment tapi gak ada yg berhasil. coding nya di bawah ini
<?php
class App {
protected $controller = 'Home';
protected $method = 'index';
protected $params = [];
public function __construct()
{
$url = $this->parseURL();
// controller
if( file_exists('../app/controllers/' . $url[0] . '.php') ) {
$this->controller = $url[0];
unset($url[0]);
}
require_once '../app/controllers/' . $this->controller . '.php';
$this->controller = new $this->controller;
// method
if( isset($url[1]) ) {
if( method_exists($this->controller, $url[1]) ) {
$this->method = $url[1];
unsert($url[1]);
}
}
//params
if( !empty($url) ) {
var_dump($url);
}
// jalankan controller & method, serta kirimkan params jika ada
call_user_func_array([$this->controller, $this->method], $this->params);
}
public function parseURL()
{
if( isset($_GET['url']) ) {
$url = rtrim($_GET['url'], '/');
$url = filter_var($url, FILTER_SANITIZE_URL);
$url = explode('/', $url);
return $url;
}
}
}
Kenapa hadi tidak muncul ya home nya?
Mohon bantuan nya suhu
halo kak ada yang bisa bantu aku? saya sudah mengikuti petunjuk dari kakak semua kenapa belum bisa juga ya? permasalahan nya pada contoler home. berikut codingan saya mohon dibantu
<?php
class App {
protected $controller = 'Home';
protected $method = 'index';
protected $params = [];
public function __construct()
{
$url = $this->parse_url();
// controller
if( file_exists('../app/controllers/'. ucwords(strtolower($url[0])). '.php') ) {
$this->controller = ucwords(strtolower($url[0]));//
unset($url[0]);
}
if(isset($url[1])) {if (method_exists($this->controller,strtolower($url[1]))) {
$this->methode = strtolower($url[1]);//
unset($url[1]);
}
}
}
public function parse_url()
{
if( isset($_GET['url']) ) {
$url = rtrim($_GET['url'], '/');
$url = filter_var($url, FILTER_SANITIZE_URL);
$url = explode('/', $url);
return $url;
}
}
}
Pak izin daftar, saya mahasiswa onlen baru bapak dari Semarang, nuhunnn
Pak Dika, saya bermasalah di controller About. Tidak bisa run malah yg Home jalan terus padahal di url ketik"about" tapi yg keluar "home/index" mohon bantuan nya🙏
Pak Dosen, ketika saya enter tampilannya muncul " array(2) { [1]=> string(4) "utep" [2]=> string(5) "Gamer" } Hai, nama saya utep, saya adalah seorang Gamer " . Muncul Array sampai string nya. knapa gk dari hai.? mohon pencerahannya.
Itu kalo url nya gaada di folder controllers, berarti masuk ke kondisi di params ya pak?
pak sandika saya ingin bertanya di menit 5:14 itu listing yg tulisan protected $controller = 'Home'; apakah itu bertipe data string?, berati jika ia, itu sebenarnya permainan manipulasi string yg kemudian di ubah jadi pemanggilan class ya pak yaa??
Pak saya mau nanya di menit 15: 18 itu berati, cara kerja link web sebenarnya secara otomatis udh pasti urutannya controller/file/method/param ya pak? atau bagaimana pak? msh kurang ngerti hehe
Terimakasih pak dhika…
Waktu if ( file_exists('../app/controllers/' . $url[0] . '.php')){
$this->controller = $url[0];
var_dump($url);
}
Di Browser tidak eror tapi juga tidak tampil apa" gimana solusinya gan??
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'about' not found in
pdahal udh benar di manggilnya dan sudah menambahkan method kedalam About.php. call_user_func_array([$this->controller, $this->method], $this->params); bantu pak dan teman2. saya menggunakan php 7.3.2
pak maaf di luar konten video, tapi saya nyoba bikin controller view sendiri malah gini kenapa ya?
An Error Was Encountered
Unable to load the requested class: Input
terimakasih
pak, gimana cara agar kita langsung buka localhost/phpmvc, dan aplikasi kita langsung muncul…..
gimana caranya dapetin kaos titik koma?
wah harus hati hati ya di linux, ada case sensitive
If(file_exists('..app/controller/'. $url[0]. '.php')){
$this->controller=$url[0];
var_dump($url);
}
Mohon bantuannya Pak Dika, punya saya setelah di run gak error dan gak tampil nilai arraynya (kosong putih di browser) dari langkah2 sebelumnya aman -aman saja. Mohon bantuanya Pak Dika
Mohon maaf apakah ada yang tau kesalahannya, saya sudah mengikuti sesuai dengan video tetapi ketika mau mengakses method nya tidak bisa apakah ada yang tau solusinya? terima kasih
pak mohon maaf ini saya baru belajar mvc saat sampai sini kenapa kok saya tidak masuk kehalaman about padahal sudah sesuai dengan instruksi divideo
Assalamualaikum pak dika, maf mau tnya. Apakah penulisan file untuk controller harus pake huruf besar,.? Soalnya saya pernah nemuin kasus saya pake nama file nya pake huruf capital awalnya. Misal "Home" begitu, dan tidak bisa ngeload controller nnya. tapi setelah saya ganti huruf keceil "home", baru bisa kebaca. Tolong penjelasan nya pk hehe. Trimakasih..
require_once '../app/controler/'. $this->controler . '.php';
$this->controler = new $this->controler;
bang yg salah dimana???
Pak ini saya bermasalah saat saya coba upload ke 000webhostapp kok selalu masuk ke link default
materi yang sangat bagus pak!
tapi ngodingnya dan penjelasanya terlalu cepat, jadi agak bingung saya pak hehe
Saya sudah selesai mengikuti ini… Tidak ada error.. tetapi og masih belum pindah page yaa… Masih berhenti di home/index… Tidak mau pindah di About/page
ada yang sama? file home.php gak ketemu, karna nama filenya Home.php? terus di akalin pakek ucwords()? wkwkw, @pakdika
mantap! btw kuat juga itu batre nya dari awal ngerjain 32% sampe selesai 21% hehe
pak saya bermasalah pada :
call_user_func_array([$this->controller, $this->method], $this->params);
dan ketika di jalankan seperti ini :
Warning: call_user_func_array() expects parameter 2 to be array, string given in C:xamppBaruhtdocswebmvcappcoreApp.php on line 33..
gimana pak solusi nya , terima kasih..
maaf kang mau tanya, kenapa method ($url[1]) masih tetap ada ketika dilakukan var_dump() ? padahal udah di unset methodnya, unset($url[1]).
mohon bantuannya kang, saya udah ulang2 videonya berkali-kali (utk menyamakan syntax dan memahami algoritmanya)
Saya muncul seperti ini pas di refresh padahal saya sudah mengikuti sama persis seperti video nya :
Fatal error: Uncaught Error: Class 'Home' not found in C:xampphtdocsphpmvcappcoreApp.php:19 Stack trace: #0 C:xampphtdocsphpmvcpublicindex.php(5): App->__construct() #1 {main} thrown in C:xampphtdocsphpmvcappcoreApp.php on line 19
Saya sudah cek tidak ada yang error, mohon bantuan nya. Terimakasih
mohon maaf pak dhika
itu file_exist nya case sensitive apa tidak ya?
saya pakek php 7.2 ubuntu
jadinya saya harus nambahin ucfirst($url[0]);
ada yang ngalamin sama?
#ASK
localhost/latihanMVC/public/about/page/blabla = Kembali ke defaultnya (echo : home/index).
localhost/latihanMVC/public/home/index/blabla = Kembali ke defaultnya (echo : home/index).
localhost/latihanMVC/public/About/page/blabla = echo : about/page
localhost/latihanMVC/public/Home/index/blabla = echo : home/index
Di video pak dhika, tulisan home ataupun about nya kecil baru bisa. Nah di saya harus Home atau About.. Jadi H dan A nya gede… Kok bisa beda ya pak?
Mohon bantuannya pak.. Terima kasih 🙂
Makasih banyak pak
Pak, kok ketika saya masuk ke about/page munculnya tetep home/index ya?
<?php
class App {
protected $controller = 'Home';
protected $method = 'index';
protected $params = [];
public function __construct()
{
$url = $this->parseURL();
// controller
if (file_exists('../app/controllers/' . $url[0] . '.php') ) {
$this->controller = $url[0];
unset($url[0]);
}
require_once '../app/controllers/' . $this->controller . '.php';
$this->controller = new $this->controller;
// method
if (isset($url[1])) {
if (method_exists($this->controller, $url[1])) {
$this->method = $url[1];
unset($url[1]);
}
}
// params
if (!empty($url)) {
$this->params = array_values($url);
}
// jalankan controller dan method, serta kirimkan params jika ada
call_user_func_array([$this->controller, $this->method], $this->params);
}
public function parseURL(){
if ( isset($_GET['url'])) {
$url = rtrim($_GET['url'], '/');
$url = filter_var($url, FILTER_SANITIZE_URL);
$url = explode('/', $url);
return $url;
}
}
}
Gan ane banyak bugs nya udah ngikutin dari part 1 sampe part 4 malah tambah error ga ada source code nya buat mvc PHP?
Kok instansiasi nya agak aneh ya ($this->controller = new $this->controller), biasanya membuah objek itu dengan menginstansiasi class.. sedangkan pada 7:19 controller itu bukan sebuah class melainkan sebuah properti
kok saya masih ada unexpected public ya di App.php bagian parseURL padahal dah persis ngikutin
Kerenn
beratttt :'
haturnuhun kang dika