PHP'de Aldığım Bir Hata ( MVC'ye Yeni Başladım )
-
Hocalarım selamlar,
PHP'ye yeni başladım ve MVC mimarisi üstüne kendimi eğitmeye çalışıyorum fakat bir yerde takıldım. Udemy'den izlediğim video da herşey düzgün çalışıyorken ben hata alıyorum. Yardımcı olabiliecek birileri vardır inşallah.
Aldığım hata şu :
Warning: require(app/modules/($module}/view/{$action)View.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/app/core/View.php on line 11
kodum:
<?php class View { public static function renderView($module, $action, $data = null, $return = false) { if ($return == false) { require(APP_DIR . '/modules/($module}/view/{$action)View.php'); } else { ob_start(); require(APP_DIR . '/modules/($module}/view/{$action)View.php'); $text = ob_get_contents(); ob_end_clean(); return $text; } } public static function renderLayout($layout, $module, $action, $data = null) { $data['VIEW'] = $action != NULL ? view::renderView($module, $action, $data, true) : null; require(APP_DIR . '/Layout/{$layout}Layout.php'); } }
karakutu tarafından 04/Eki/22 09:57 tarihinde düzenlenmiştir -
Dikkatli bakarsan kume parantezi acmak yerine duz parantez acmis oldugunu goreceksin.
{$degisken} olmali yani ($degisken} degil.
Bir de, yanlis hatirlamiyorsam php single quote icindeki variable'lari yorumlamiyordu. Onlari ya double quote yap, ya da stringleri ve variable'lari ayirip dot concatenation ile birlestir.
echo "Passing variables in double quotes {$var}" ya da echo 'Passing variables in single quotes ' . $var
Edit: Tavsiyem once php sentaks kurallarini ogrenmen, sonra design patternlere bakman yonunde olacaktir.
end tarafından 04/Eki/22 10:03 tarihinde düzenlenmiştir -
end bunu yazdı
Dikkatli bakarsan kume parantezi acmak yerine duz parantez acmis oldugunu goreceksin.
{$degisken} olmali yani ($degisken} degil.
Bir de, yanlis hatirlamiyorsam php single quote icindeki variable'lari yorumlamiyordu. Onlari ya double quote yap, ya da stringleri ve variable'lari ayirip dot concatenation ile birlestir.
echo "Passing variables in double quotes {$var}" ya da echo 'Passing variables in single quotes ' . $var
Edit: Tavsiyem once php sentaks kurallarini ogrenmen, sonra design patternlere bakman yonunde olacaktir.
Teşekkür ederim, hatalı yazdığımı sayende fark ettim. Ama hata aynı :)
"Onlari ya double quote yap, ya da stringleri ve variable'lari ayirip dot concatenation ile birlestir." bunu örnekle açıklaman mümkün mü hocam?
-
karakutu bunu yazdıend bunu yazdı
Dikkatli bakarsan kume parantezi acmak yerine duz parantez acmis oldugunu goreceksin.
{$degisken} olmali yani ($degisken} degil.
Bir de, yanlis hatirlamiyorsam php single quote icindeki variable'lari yorumlamiyordu. Onlari ya double quote yap, ya da stringleri ve variable'lari ayirip dot concatenation ile birlestir.
echo "Passing variables in double quotes {$var}" ya da echo 'Passing variables in single quotes ' . $var
Edit: Tavsiyem once php sentaks kurallarini ogrenmen, sonra design patternlere bakman yonunde olacaktir.
Teşekkür ederim, hatalı yazdığımı sayende fark ettim. Ama hata aynı :)
"Onlari ya double quote yap, ya da stringleri ve variable'lari ayirip dot concatenation ile birlestir." bunu örnekle açıklaman mümkün mü hocam?
tek tirnak icinde yazdigin degiskenler yazi olarak degerlendirilir. Degiskenin yaziyla birlestirilmesini istiyorsan ya tek tirnaktan vazgecip cift tirnak kullanacaksin, ya da tek tirnaklarin disinda nokta ile degiskenleri birlestireceksin.
valid ornek:
echo "Passing variables in double quotes {$var}"
echo 'Passing variables in single quotes ' . $var
echo "Passing variables in single quotes " . $var echo "Passing variables in single quotes $var"
invalid ornek:
echo 'Passing variables in single quotes $var' echo 'Passing variables in single quotes {$var}'
#####
Daha fazla string birlestirme ornegi:
echo $degisken1 . ' biraz yazi ' . $degisken2 . ' biraz daha yazi' . ' tekrar yazi' . $degisken3 . ' azicik daha yazi' . 55
-
Anladım hocam, çok teşekür ederim yönlendirmen ile sorunu çözdüm
require(APP_DIR . "/modules/" . $module . "/view/" . $action . "View.php");
-
karakutu bunu yazdı
Anladım hocam, çok teşekür ederim yönlendirmen ile sorunu çözdüm
require(APP_DIR . "/modules/" . $module . "/view/" . $action . "View.php");
Zamanla oturacaktir hocam, surekliligini saglamaya bak :)
alternatifler:
require(APP_DIR . '/modules/' . $module . '/view/' . $action . 'View.php') require(APP_DIR . "/modules/{$module}/view/{$action}View.php") require(join([APP_DIR, 'modules', $module, 'view', $action, 'View.php'], '/'))
-
hangi dersi izliyosun hocam ? hangi framework bu.
bence direkt laravele giriş ya.bir sürü konsepti ve "best practice"i öğretir sana
-
mini3 ile bende bunu öğreneyim diyorum. giriş için mantıklı mı?
-
o nasıl bir class yapısı laaaaaa.
yazık evladım beynini böyle şeylerle kirletme.
izleme bunu kimden izliyorsan.
bunu böyle anlatıp rakip mi elemeye çalışmış acaba :D classa bak awwww
önce object oriented programming ve design patterns öğren ondan sonra mvc öğren, yoksa böyle yazılım eğitmeniyim diye gezinen kekoları zengin edip yerinde sayarsın.
taskafa tarafından 04/Eki/22 14:15 tarihinde düzenlenmiştir -
Tavsiye ve önerileriniz için çok teşekkür ederim.
@taskafa : Hocam bir arkadaşımın udemy hesabı var satın aldığı bir çok kurs var php ile alakalı bende hepsinden faydalanmaya çalışıyorum. Bu udemy kursunu izlememdeki amacım MVC mantığını anlamak PHP konusunda biraz kitabın ortasından girmiş hiç anlamayan biri için çok karmaşık gelir bana öyle oldu dediğim gibi PHP değilde MVC'nin mantığı için izlediğim derslerden biri. Kurs bu : https://www.udemy.com/course/php-ile-sifirdan-nesne-yonelimli-programlama-oop/
@NoktaliVirgul : Hocam eğer bana sorduysan inan hiç bir fikrim yok mini3 hakkında hiç bişr bilgiye sahip değilim.
@yolbulucu : Hocam hazır bir framework değil sıfırdan MVC yapısı oluşturmayla alakalı. Kurs bu : https://www.udemy.com/course/php-ile-sifirdan-nesne-yonelimli-programlama-oop/
@end : Tekrardan çok teşekkür ederim, yavaş yavaş yol katetmeye başladım. :)
-
karakutu bunu yazdı
Tavsiye ve önerileriniz için çok teşekkür ederim.
@taskafa : Hocam bir arkadaşımın udemy hesabı var satın aldığı bir çok kurs var php ile alakalı bende hepsinden faydalanmaya çalışıyorum. Bu udemy kursunu izlememdeki amacım MVC mantığını anlamak PHP konusunda biraz kitabın ortasından girmiş hiç anlamayan biri için çok karmaşık gelir bana öyle oldu dediğim gibi PHP değilde MVC'nin mantığı için izlediğim derslerden biri. Kurs bu : https://www.udemy.com/course/php-ile-sifirdan-nesne-yonelimli-programlama-oop/
@NoktaliVirgul : Hocam eğer bana sorduysan inan hiç bir fikrim yok mini3 hakkında hiç bişr bilgiye sahip değilim.
@yolbulucu : Hocam hazır bir framework değil sıfırdan MVC yapısı oluşturmayla alakalı. Kurs bu : https://www.udemy.com/course/php-ile-sifirdan-nesne-yonelimli-programlama-oop/
@end : Tekrardan çok teşekkür ederim, yavaş yavaş yol katetmeye başladım. :)
faydadan cok zarari olur bu kursun gibi duruyor.