Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同名的PHP CodeIgniter模型_Php_Codeigniter_Namespaces_Codeigniter 3 - Fatal编程技术网

同名的PHP CodeIgniter模型

同名的PHP CodeIgniter模型,php,codeigniter,namespaces,codeigniter-3,Php,Codeigniter,Namespaces,Codeigniter 3,我需要你的帮助,求你了! 我有两个同名的型号 1。。。。application/admin/user/models/user_model.php,代码如下: <?php defined('BASEPATH') OR exit('No direct script access allowed'); class User_model extends CI_Model ?> <?php defined('BASEPATH'

我需要你的帮助,求你了! 我有两个同名的型号

1。。。。application/admin/user/models/user_model.php,代码如下:

 <?php 
        defined('BASEPATH') OR exit('No direct script access allowed');

        class User_model extends CI_Model

     ?>
<?php 
    defined('BASEPATH') OR exit('No direct script access allowed');

    class User_model extends CI_Model
 ?>
application/front/user/controllers/user.php
,我调用
application/admin/user/models/user\u model.php
总是给我一个错误,因为没有加载
application/front/user/models/user\u model.php

如果我从
application/front/user/models/user\u model.php
中删除名称空间,我的代码将始终进入此模式,而不会进入
admin/user/user\u model
。 我需要避免更改
admin/user/user\u model.php
,因为很多类都使用这个模型。我只能更改
front/user/user\u model.php
但是我需要使用
admin/user/user\u模型

我这样调用application/admin/user/models/user_model.php:

$this->load->model('user_model'); 
   $this->load->model('admin/User_model');
   $this->load->model('user/User_model2');
我需要加载application/admin/user/models/user\u model.php

请帮帮我!!!! 谢谢! Ani

希望这对您有所帮助

您可以在如下模型中创建子目录:

application/models/admin/User_model.php

application/models/user/User_model2.php
   $this->load->model('admin/User_model', 'admin_model');

   $this->admin_model->some_method();

   $this->load->model('user/User_model2', 'user_model');

   $this->user_model->some_method();
按如下方式加载模型:

$this->load->model('user_model'); 
   $this->load->model('admin/User_model');
   $this->load->model('user/User_model2');
您应该将模型指定给不同的对象名称。您可以通过加载方法的第二个参数指定该名称:

像这样使用它们:

application/models/admin/User_model.php

application/models/user/User_model2.php
   $this->load->model('admin/User_model', 'admin_model');

   $this->admin_model->some_method();

   $this->load->model('user/User_model2', 'user_model');

   $this->user_model->some_method();
更多信息:

希望这对您有所帮助

您可以在如下模型中创建子目录:

application/models/admin/User_model.php

application/models/user/User_model2.php
   $this->load->model('admin/User_model', 'admin_model');

   $this->admin_model->some_method();

   $this->load->model('user/User_model2', 'user_model');

   $this->user_model->some_method();
按如下方式加载模型:

$this->load->model('user_model'); 
   $this->load->model('admin/User_model');
   $this->load->model('user/User_model2');
您应该将模型指定给不同的对象名称。您可以通过加载方法的第二个参数指定该名称:

像这样使用它们:

application/models/admin/User_model.php

application/models/user/User_model2.php
   $this->load->model('admin/User_model', 'admin_model');

   $this->admin_model->some_method();

   $this->load->model('user/User_model2', 'user_model');

   $this->user_model->some_method();

更多信息:

这根本不可能,因为Codeigniter不支持名称空间

通常您会看到如下错误

Fatal error:  Cannot declare class `User_model`, because the name is already in use
但Codeigniter阻止了这一点,因为它不会加载任何已经加载的模型。你可以看到这个


因此,摆脱痛苦的唯一办法就是简单地重命名模型——即使你不想这么做;)

这根本不可能,因为Codeigniter不支持名称空间

通常您会看到如下错误

Fatal error:  Cannot declare class `User_model`, because the name is already in use
但Codeigniter阻止了这一点,因为它不会加载任何已经加载的模型。你可以看到这个


因此,摆脱痛苦的唯一办法就是简单地重命名模型——即使你不想这么做;)

请显示您的
config.php
。您可能被配置为从以下位置加载模型:
front/user/models
。请显示您的
config.php
。您可能被配置为从以下位置加载模型:
front/user/models
.imho-这不起作用-如果他使用相同的类名,则只会实例化
admin/user\u model
,由于CI不支持名称空间,唯一的解决方法就是重命名该类…imho-这不起作用-如果他使用相同的类名,它只能实例化
admin/User\u model
,而由于CI不支持名称空间,唯一的解决方法就是重命名该类。。。