gpt4 book ai didi

具有相同名称的 PHP CodeIgniter 模型

转载 作者:行者123 更新时间:2023-12-04 16:52:39 24 4
gpt4 key购买 nike

我需要你的帮助,拜托!
我有 2 个同名模型

1.... application/admin/user/models/User_model.php,使用以下代码:

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

class User_model extends CI_Model

?>

2.... application/front/user/models/User_model.php,用这个代码:
<?php 
defined('BASEPATH') OR exit('No direct script access allowed');

class User_model extends CI_Model
?>

两个类没有区别。
我需要使用 application/admin/user/models/User_model.php来自 application/front/user/controllers/User.php
我尝试进行以下更改:
如果我添加 application/front/user/models/User_model.php命名空间像这样的代码:
<?php namespace customers;
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_model.php总是给我一个错误 application/front/user/models/User_model.php没有加载。

如果我从 application/front/user/models/User_model.php 中删除命名空间我的代码总是进入这种模式,从不进入 admin/user/user_model .
我需要避免改变 admin/user/User_model.php因为很多类(class)都用这个MODEL。我只能改 front/user/User_model.php但我需要使用 admin/user/user_model .

我像这样调用 application/admin/user/models/User_model.php:
$this->load->model('user_model'); 

我需要加载 application/admin/user/models/User_model.php

请帮我!!!!
谢谢!
阿尼

最佳答案

这是不可能的,因为 Codeigniter 不支持命名空间

通常你会看到这样的错误

Fatal error:  Cannot declare class `User_model`, because the name is already in use

但是 Codeigniter 阻止了这种情况,因为它不会加载任何已经加载的模型。你可以看到这个 here .

因此,摆脱痛苦的唯一方法就是简单地重命名模型 - 即使您不想;)

关于具有相同名称的 PHP CodeIgniter 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48739830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com