merhabalar basit bir mvc yapısına autoload entegre ettim dosya yapım şu şekilde
MVC
-App
--Controller
--Core
--Model
index.php
composer.json
composer.json:
{
"autoload": {
"psr-4": {
"MVC\\": "App/"
}
}
}
Controller klasöründeki controller'lara
Core klasöründeki ana controller'ı extends ediyorum gayet normal bir şekilde namespaceleri ile çalışıyor ancak
Model klasöründeki modelden bilgi alacağım zaman not found hatası veriyor.
örneğin model klasöründe bir dosya oluşturuyorum user.php adında
User.php
namespace MVC\App\Model;
class Users
{
public function getName()
{
return "test user name";
}
}
Controller içerisindeki home.php 'de getName()'den dönen değeri elde etmek istedim
home.php
use MVC\Controller\Controller;
use MVC\App\Model\User;
class Home extends Controller
{
public function index()
{
$user = new User;
echo $user->getName();
//echo "Home/Index (index.php?url=home/index)";
}
}
controller çalışıyor ancak bu hatayı alıyorum -composer dump-autoload -o ve update yaptım
Fatal error: Class 'MVC\App\Model\Users' not found in C:\wamp64\www\MVC\App\Controller\home.php
anlamadığım yer neresi göremedim şimdiden teşekkürler..