<?php
// File: application/models/foo/bar.php
namespace foo;
class Bar extends \CI_Model implements \Awesome_interface {
public $foobar;
public function __construct() {
return parent::__construct();
}
public function getFoobar() {
return $this->foobar;
}
public function setFoobar($val) {
$this->foobar = $val;
}
}
5条答案
按热度按时间jutyujz01#
如何在Codeigniter中使用命名空间
实际上,您可以让名称空间与应用程序模型中的相对路径一起工作。这种修改使加载模型更容易,并且还允许您将接口...
将其添加到应用程序/config/config.php的末尾
命名空间类示例:
代码中某个位置的类示例化示例:
***重要说明:***请勿使用内置CI_Loader(例如:$this-〉加载-〉模型();)
或者在PHP类的顶部(例如:控制器,其他型号),您可以执行此操作...
接口示例:
nqwrtyyt2#
命名空间是由php支持的,而不是由框架支持的(在你的例子中是codeigniter)。如果你使用命名空间,php版本必须〉= 5.3.0。
kqhtkvqz3#
只需一个简单的psr-4自动加载,你就完成了。
在
config/config.php
中使用在根目录中运行
composer install
。在生成的composer.json
中,添加以下几行以便psr 4自动加载。在本例中,
App
将是您的名称空间。例如:假设你在libraries文件夹中有一个类
Service
。你可以用以下方式命名它:在
Welcome
控制器类中使用它:mitkmikd4#
你可以看看这个:yidas/codeigniter-psr4-autoload
库将
app
定义为CI应用程序根,以便应用程序中的每个类都可以使用PSR-4命名空间加载:定义类别的范例程式码:
https://github.com/yidas/codeigniter-psr4-autoload
zu0ti5jz5#
在你想使用goutte的类中添加下面一行
并在项目的绝对路径中运行:'composer
将goutte添加到package.json文件中。现在一切都应该正常了。