Questions tagged «codeigniter»

CodeIgniter是由EllisLab Inc创建的开源PHP Web开发框架,已被不列颠哥伦比亚技术学院采用。该框架实现了Model-View-Controller设计模式的修改版本。使用此标记可解决有关CodeIgniter类,方法,函数,语法和使用的问题。


9
从框架走向无框架[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 作为一种业余爱好,我已经在PHP中开发了大约8年。在2009年,我选择了Codeigniter,从那时起,我一直没有开发出一个项目。 我发现,如果我使用纯PHP工作,我会知道,或者能够快速找到相应代码段,这使我无法尝试修改其工作方式以达到所需的方式。 我已经尝试了CodeIgniter,Kohana和Symfony。我喜欢它的易用性(我也已经开始使用doctrine作为ORM,这极大地加速了我的数据库工作),但是我发现项目花费的时间是纯PHP的3-4倍。当我找不到以前用纯PHP解决的问题的解决方案时,我感到无聊和沮丧。 有没有人从使用框架转变为无框架方法。是否有类似基本安全框架的内容(防止XSS,过滤发布的数据,提供用于数据库的清除功能)?我认为类似的事情比全面框架能给我带来更多好处。我认为学习使用框架已经教会了我很多东西,但是我会更高兴使用自己的代码。

5
Codeigniter-未指定输入文件
我是Codeigniter的初学者,我看过CI教程,只是想做一件简单的事情。我下载了CI,并将此文件添加到控制器目录中,但是它不起作用。 <?php class site extends CI_Controller { public function index() { echo "Hello World"; } function dosomething() { echo "Do Something"; } } ?> 当我尝试使用http://..../index.php/site访问它时,得到输出...“未指定输入文件” .....,我将文件命名为site.php。
86 codeigniter  php 

5
解释$ CI =&get_instance();
查看codeigniter的源代码, 在其辅助函数中,我不断看到代码 $CI =& get_instance(); ,任何人都可以向我解释该代码的工作原理吗? 我知道它正在返回对$ CI超级对象的引用,但是它get_instance()来自哪里呢?
86 php  codeigniter 

6
在PHP中处理PUT / DELETE参数
我正在使用CodeIgniter的REST客户端库,并且正在努力研究如何在PHP中发送PUT和DELETE参数。 在一些地方,我看到人们在使用这些选项: $this->option(CURLOPT_PUT, TRUE); $this->option(CURLOPT_POSTFIELDS, $params); 令人讨厌的是,这似乎无济于事。这是设置PUT参数的正确方法吗? 如果是这样,如何设置DELETE参数? $ this-> option()是我的库的一部分,它只是建立一个CURLOPT_XX常量数组,并在执行建立的cURL请求时将它们发送到curl_setopt_array()。 我正在尝试使用以下代码读取PUT和DELETE参数: case 'put': // Set up out PUT variables parse_str(file_get_contents('php://input'), $this->_put_args); break; case 'delete': // Set up out PUT variables parse_str(file_get_contents('php://input'), $this->_delete_args); break; 这里有两个选择,我以错误的方式处理此问题,或者我的库中某个地方存在错误。如果您可以让我知道这在理论上是否可行,那么我可以继续进行调试,直到解决为止。 我不想再浪费时间在根本上是错误的方法上。

11
使codeigniter网站成为多语言的最佳方法。从lang数组调用取决于lang会话?
我正在研究几个小时,但是我找不到任何清晰有效的方法来实现它:/ 我有一个英文的codeigniter基本网站,现在必须添加波兰语。根据访问者的选择,以两种语言制作我的网站的最佳方法是什么? 有什么方法可以为每种语言创建数组文件并在视图文件中调用它们,取决于从lang选择的Session?我不想使用数据库。 感谢帮助!我的期限快用完了:/谢谢!!

8
使用带有Codeigniter电子邮件库的gmail smtp发送电子邮件
<?php class Email extends Controller { function Email() { parent::Controller(); $this->load->library('email'); } function index() { $config['protocol'] = 'smtp'; $config['smtp_host'] = 'ssl://smtp.gmail.com'; $config['smtp_port'] = '465'; $config['smtp_timeout'] = '7'; $config['smtp_user'] = 'mygmail@gmail.com'; $config['smtp_pass'] = '*******'; $config['charset'] = 'utf-8'; $config['newline'] = "\r\n"; $config['mailtype'] = 'text'; // or html $config['validation'] = TRUE; // bool …
79 php  codeigniter  email  smtp 

11
使用CodeIgniter的活动记录将NOW()插入数据库
我想在Codeigniter的活动记录中使用mySQL函数NOW()在数据库中插入当前时间。以下查询将不起作用: $data = array( 'name' => $name , 'email' => $email, 'time' => NOW() ); $this->db->insert('mytable', $data); 这是因为CodeIgniter的ActiveRecord类自动转义输入。 通过调用set()并传递peratmeter FALSE,以下代码可以正常工作,以使它不会逃脱NOW()。 $data = array( 'name' => $name , 'email' => $email, ); $this->db->set('time', 'NOW()', FALSE); $this->db->insert('mytable', $data); 但是,我的问题是,除此之外还有其他方法吗?例如,如果我可以通过仅添加数据数组中的所有内容来以某种方式使用?例如,类似: $data = array( 'name' => $name , 'email' => $email, 'time' => NOW(), …
78 php  mysql  codeigniter 

11
数据表:无法读取未定义的属性“长度”
我知道这是一个很普遍的问题,并且在Stack Overflow和其他网站(包括datatables网站)上已经阅读了所有类似的问题。 为了澄清,我正在使用 PHP Codeigniter 物质学 我还确保我正确接收了JSON数组: [{"name_en":"hello","phone":"55555555"},{"name_en":"hi","phone":"00000000"}] 我的HTML表格如下所示: <table id="customer_table"> <thead> <tr> <th>Name</th> <th>Phone</th> </tr> </thead> </table> 这是我的document.ready功能: $(document).ready(function(){ //$('#customer_table').DataTable(); $('#customer_table').DataTable( { "ajax": 'json', "dataSrc": "", "columns": [ { "data": "email" }, { "data": "name_en" } ] }); }); 我得到的错误是 Uncaught TypeError:无法读取未定义的属性“ length”

10
CodeIgniter-仅返回一行?
目前,如果我正在对数据库执行查询,则该查询仅应返回一行,使用: ...query stuff... $query = $this->db->get(); $ret = $query->result(); return $ret[0]->campaign_id; 是否有CodeIgniter函数返回第一行?就像是$query->row(); 如果只有一行,甚至可以直接使用查询对象,甚至更好。 例如 $query->campaign_id;

10
如何使用CodeIgniter的ActiveRecord选择列值不为空的行?
我正在使用CodeIgniter的Active Record类来查询MySQL数据库。我需要选择表中没有将字段设置为NULL的行: $this->db->where('archived !=', 'NULL'); $q = $this->db->get('projects'); 那只会返回以下查询: SELECT * FROM projects WHERE archived != 'NULL'; 该archived字段是一个DATE字段。 有没有更好的方法来解决这个问题?我知道我可以自己编写查询,但是我想在整个代码中坚持使用Active Record。

12
CodeIgniter-如何捕获数据库错误?
有没有一种方法可以使CI在遇到数据库错误时抛出异常,而不是显示类似以下的消息: 发生数据库错误,错误号:1054'where子句'中的未知列'foo'SELECT * FROM(FooBar)WHERE foo='1' 注意:我只希望这在一个控制器中发生。在其他控制器中,我很高兴显示DB错误消息。
72 php  codeigniter 

14
CodeIgniter中的页眉和页脚
我真的不喜欢在每个控制器中编写代码: $this->load->view('templates/header'); $this->load->view('body'); $this->load->view('templates/footer'); 是否可以这样做,将自动包含页眉和页脚,如果需要更改它,我们也可以这样做吗?你怎么处理那件事呢?还是您认为这不是问题?谢谢。
71 php  codeigniter 

6
在CodeIgniter的视图中包括视图的最佳方法
我正在启动一个大型代码点火器项目,并想尝试为内容片段(如可能在不同页面/控制器上显示的数据循环)创建一些可重用的“迷你”视图。 从主控制器的视图中调用视图更好吗?如果是这样,怎么办?还是应该从控制器调用“迷你视图”,然后将视图的代码传递给主视图?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.