资讯专栏INFORMATION COLUMN

CodeIgniter遇到的坑

andot / 1722人阅读

摘要:文件夹中的文件首字母大写。因为在中我没有找到日期和字符串转换和格式化的灵活方法,所以在中处理格式化的问题。获取参数由于框架自身设计的问题,推荐尽量用方式请求后台服务,参数格式为格式。

1.controllers文件夹中的controller文件首字母大写。不大写也可以,但是环境兼容性不好,举个例子,我开发环境在mac电脑上,文件名首字母小写,服务可以正常访问;但是在阿里云服务器(debian)环境中,文件名首字母小写,无法访问controller类中的方法,文件名改成首字母大写,就可以正常访问了。

2.在controller中访问数据库,需要在构造函数中加载数据库函数语句前调用父类构造函数,如果在model中加载数据库,则直接写加载数据库语句就行。如下

public function __construct()
{
   parent::__construct();
   $this->load->database;
}

3.接口返回页面的语句

$this->output->set_output("返回值")

4.获取时间戳

我一般获取时间戳的方式是写一个公用方法,查询数据库时间。因为在php中我没有找到日期和字符串转换和格式化的灵活方法,所以在sql中处理格式化的问题。

public function getSysdate()
{
  $sql = "select DATE_FORMAT(NOW(),"%Y%m%d%H%i%s") sysdate ";
  $query = $this->db->query($sql);
  return $query->row()->sysdate;
}

5.获取参数

由于ci框架自身设计的问题,推荐尽量用post方式请求后台服务,参数格式为json格式。那么问题来了,如何获取参数,ci框架提供了input流,请看下面的代码例子

$jsonStr = $this->input->raw_input_stream; //获取参数 input流
$jsonObj = json_decode($jsonStr);          //再将json字符串转成数组对象

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22860.html

相关文章

  • PHP项目中CodeIgniter使用的一些建议

    摘要:把如下代码添加到目录下的文件中类的构造函数之前,这其实就是进行变量声明,文件也是同样操作。举一个我项目中的例子。该类只需要一个构造函数完成上述功能即可。 最近再给一个APP写API,同时还要写相应的后台管理网站。为了便于开发和代码组织与管理,我决定采用一个现有的框架。Codeigniter由于其轻量容易自定制的特点吸引了我,一路开发过来也有大半年时间了,写下一些自己在开发过程中的一些体...

    Barrior 评论0 收藏0
  • PHP 框架 CodeIgniter 4 alpha 1 版发布了

    摘要:经过漫长的艰苦奋斗,版今天终于发布了。该版本具备所有主要功能,但仍存在一些问题。认为缺少什么在论坛中发布帖子。我们将很快在论坛启动候选新功能的工作,我们将从论坛中选出有价值的内容你使用该版本时遇到的问题在论坛中发布帖子。 经过漫长的艰苦奋斗,CodeIgnier 4.0.0 alpha 1 版今天终于发布了。 向 Lonnie Ezell 致敬!感谢他为实现愿景和核心实施所做的所有努力...

    james 评论0 收藏0
  • 【docker】 bind-mount或者COPY时需要注意 用户、文件权限 的问题

    摘要:问题产生原因最近在使用的时候经常遇到权限问题。如果权限不够,就会出现问题。从上图可以看到,主进程的拥有者是,可以读写任何文件,权限肯定没问题。要解决这个问题,其实就是让用户有权读写以及其中的文件。 问题产生原因 最近在使用docker的时候经常遇到权限问题。通过这个stackoverflow回答,我明白了问题出现的主要原因:Docker在进行bind mount的时候,或者在进行COP...

    muddyway 评论0 收藏0
  • CodeIgniter解决跨域问题

    摘要:跨域问题一般都是在后端也就是端处理。代码例子为说回正题,最近选择作为后台,用解决跨域问题大同小异,在中,按照下面的代码这么写也可以,但是我个人推荐第一行的写法返回格式的报文现在看来确实很简单也很相似,但是在解决过程中也遇到一些问题。 跨域问题一般都是在后端也就是server端处理。先拿java举例,一般是在返回前端时获取response对象,设置返回报文header中Access-Co...

    codeGoogle 评论0 收藏0

发表评论

0条评论

andot

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<