CodeIgniter-将函数/类放在何处?
我在理解CI中的类应该保留在哪里时遇到问题。我正在构建一个描述/销售手机的应用程序 我希望我的所有函数(如getphone、getdetails等)都位于一个名为Mobile的类中-我知道该文件应命名为Mobile.php并位于controllers文件夹中 那么,我可以在Mobile.php中拥有多个函数吗?例如CodeIgniter-将函数/类放在何处?,codeigniter,codeigniter-2,Codeigniter,Codeigniter 2,我在理解CI中的类应该保留在哪里时遇到问题。我正在构建一个描述/销售手机的应用程序 我希望我的所有函数(如getphone、getdetails等)都位于一个名为Mobile的类中-我知道该文件应命名为Mobile.php并位于controllers文件夹中 那么,我可以在Mobile.php中拥有多个函数吗?例如 public function getphone() { xxx xx xx } public function getdetails() { xxx
public function getphone() {
xxx
xx
xx
}
public function getdetails() {
xxx
xx
xx
}
或者我需要把每个函数放在它自己的类中吗
我真的很想看一些有效的示例代码。我已经浏览了文档和google几个小时,并尝试了URL中的各种变体来查找测试类,但运气不太好!我甚至弄乱了路线和通道
我一直在努力实现以下目标:
$this->load->library('car');
$my_car = new Car();
http:///model/HTC-Desire/ 重新路由到一个函数,该函数接受HTC Desire作为参数(因为我需要它进行DB查找)。默认控制器工作正常,但此后无法使任何东西工作
有什么想法吗
谢谢是的,一个控制器类中可以有任意多个函数。它们可以通过url
/class/function
访问
您可以在类函数中捕获参数,但这是不可取的
class Mobile extends CI_Controller{
public function getPhone($phoneModel=''){
echo $phoneModel;
//echo $this->input->post('phoneModel');
}
}
http://site.com/mobile/getPhone/HTC-Rad 从理论上讲,它将呼应“HTC Rad”。但是,默认情况下,CI中的URL不欢迎使用特殊字符,因此在本例中,您可能会遇到“不允许的URI字符”错误。您最好传递电话型号(或任何其他参数)通过
$\u向控制器发布。是的,您可以在控制器类中拥有任意数量的函数。可以通过url/class/function
访问这些函数
您可以在类函数中捕获参数,但这是不可取的
class Mobile extends CI_Controller{
public function getPhone($phoneModel=''){
echo $phoneModel;
//echo $this->input->post('phoneModel');
}
}
http://site.com/mobile/getPhone/HTC-Rad 从理论上讲,它会呼应“HTC Rad”。但是,默认情况下,CI中的URL不欢迎使用特殊字符,因此在本例中,您可能会遇到“不允许的URI字符”错误。您最好通过$\u POST
将手机型号(或任何其他参数)传递给控制器 类既可以作为控制器
存在,也可以作为模型
存在,因为CodeIgniter实现了。我建议阅读更多关于这方面的内容,以了解如何最好地组织您的类/函数等
在我脑海中,是一个用CodeIgniter构建的应用程序,源代码是免费提供的。我相信还有其他的。类可以作为控制器和模型存在,因为CodeIgniter实现了。我建议阅读更多关于这方面的内容,以了解如何最好地组织您的类/函数等
在我脑海中,是一个用CodeIgniter构建的应用程序,源代码是免费提供的。我肯定还有其他的。实际上它是这样工作的:
如您所知,控制器和模型将转到其透视图文件夹
如果要创建不是对象方法的函数,则必须创建辅助文件。更多信息请点击此处:
现在,如果要创建自己的数据类型(不扩展模型和控制器的类),可以将它们添加到库文件夹中。如果你想创建一个类“Car”,你可以创建这个文件:
class Car{
function __construct(){}
}
并将其保存在libraries文件夹中,名为car.php
要创建汽车类的实例,必须执行以下操作:
$this->load->library('car');
$my_car = new Car();
有关图书馆的更多信息,请点击此处:
实际上它是这样工作的:
如您所知,控制器和模型将转到其透视图文件夹
如果要创建不是对象方法的函数,则必须创建辅助文件。更多信息请点击此处:
现在,如果要创建自己的数据类型(不扩展模型和控制器的类),可以将它们添加到库文件夹中。如果你想创建一个类“Car”,你可以创建这个文件:
class Car{
function __construct(){}
}
并将其保存在libraries文件夹中,名为car.php
要创建汽车类的实例,必须执行以下操作:
$this->load->library('car');
$my_car = new Car();
有关图书馆的更多信息,请点击此处:
我认为你最好从一个角度来处理它,那就是;创建一个包含所有函数的实用程序类。
将类文件放置在何处的问题的答案是“libraries”文件夹。
文件中明确说明了这一点将您的类放入libraries文件夹
当我们使用术语“库”时,我们通常指的是
位于libraries目录中并在中描述的类
本用户指南的类参考
您可以阅读有关创建和使用库的更多信息
将新创建的类放入libraries文件夹后,只需在控制器中加载库即可使用,如下所示:
$this->load->library('yourphpclassname');
$params = array('type' => 'large', 'color' => 'red');
$this->load->library('yourphpclassname', $params);
$this->yourphpclassname->some_method();
如果希望在构造函数中接收多个参数,则必须对其进行修改,以接收一个参数,该参数将是一个数组,并且加载/初始化将略有不同,如下所示:
$this->load->library('yourphpclassname');
$params = array('type' => 'large', 'color' => 'red');
$this->load->library('yourphpclassname', $params);
$this->yourphpclassname->some_method();
然后,要访问类中的任何函数,只需执行如下操作:
$this->load->library('yourphpclassname');
$params = array('type' => 'large', 'color' => 'red');
$this->load->library('yourphpclassname', $params);
$this->yourphpclassname->some_method();
我希望这能回答您的问题,如果您有进一步的问题,请留下评论,我会很好地回答他们。我认为您最好从一个角度来处理它,即;创建一个包含所有函数的实用程序类。
将类文件放置在何处的问题的答案是“libraries”文件夹。
文件中明确说明了这一点将您的类放入libraries文件夹
当我们使用术语“库”时,我们通常指的是
位于libraries目录中并在中描述的类
本用户指南的类参考
您可以阅读有关创建和使用库的更多信息
放置新创建的CLA之后