我正在使用codeigniter 3.我使用composer psr-4 autoload。我启用作曲家配置为
$config['composer_autoload'] = FCPATH."vendor/autoload.php";
我的composer.json自动加载为
"autoload":{
"psr-4":{
"App\\":"application"
},
"classmap":["system"]
}
}
我有一个抽象控制器Controller.php
为
<?php namespace App\controllers;
use CI_Controller;
abstract class Controller extends CI_Controller{}
工作正常。 但主要问题是我作为控制器写作
<?php namespace App\controllers;
use App\controllers\Controller;
use App\models\User;
class Welcome extends Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
不起作用。如果我删除namespace App\Controllers;
一切顺利。
主要问题在哪里?谢谢。
答案 0 :(得分:0)
Codeigniter不像Symfony,Zend,CakePHP。它只是一个易于理解和使用的基本PHP框架。
Python
在上面的代码中,您在代码中使用了<?php
namespace App\controllers;
use App\controllers\Controller;
use App\models\User;
class Welcome extends Controller {
public function index()
{
$this->load->view('welcome_message');
}
}
,namespace
个关键字。实际上没有要求像这样加载控制器。
如果要添加新控制器。就这样使用。
文件名= use
admin.php
这仅适用于控制器吗?
是。这段代码足以创建新的控制器。
我们可以在控制器内使用多少个功能
您可以使用 N-Number 的功能。但是,当它超过300线更好地分成两个时,就像常见的那样
答案 1 :(得分:0)
您正在修改CI以使用名称空间,但不能在控制器中将名称空间用作
因为路由过程。 Route将无法找到控制器的方法。