third_party用来存放系统中引入的第三方类库,类库通常提供的功能比较丰富,相应的学习成本也要高些以及系统中能用到功能有限,所以建议在引入类库时进行适当的封装,让系统中更方便使用,其他人使用时只需关注扩展的方法而无法关注具体的实现。以CI集成Twig模版为例吧。…
third_party用来存放系统中引入的第三方类库,类库通常提供的功能比较丰富,相应的学习成本也要高些以及系统中能用到功能有限,所以建议在引入类库时进行适当的封装,让系统中更方便使用,其他人使用时只需关注扩展的方法而无法关注具体的实现。以CI集成Twig模版为例吧。…
前面提到过helper、和libraries,主要用来存放一系列辅助函数、辅助类,用来辅助系统实现功能。但helper 和 library 之间到底有什么区别呢?什么时候该用 helper 什么时候该用 library ?这好像是个无聊的问题。。。来谈下无聊的看法:helper里主要是一些函数, library里…
Twig中有两种定界符{% ... %} 和 {{ ... }} , 前一种用来执行语句,比如for循环、IF判断、过滤等操作,后一种模版中用来显示变量。Twig常用用法可用符号== != < > >= <= + - ~ * / // % ** | [] . .. and or not in is b-and b-or b-xor部分符号的含义如下~…
在网站开发过程中模版引擎是必不可少的,PHP中用的最多的当属Smarty了。目前公司系统也是用的Smarty,如果要新增一个页面只需把网站的头、尾和左侧公共部分通过Smarty的include方式引入进来,然后主体部分写内容即可,用起来也是相当方便。这也是一种比较通用的做法。但维…
CI中视图即application/views/下的模版文件,模版中支持直接使用PHP,所以模版的实现没有太多好说的,说几点从视图想到的吧。1、CI的视图可以在控制器中load多个视图,页面最后将这些内容组合起来后输出。这里load的动作如果交给控制器去做,需要调整模版结构时就需要调整…
MVC中的业务逻辑放在控制器中或者模型里都是不合适的,所以这里对业务逻辑进行了分离,多出一层用来处理业务逻辑,模型就只当作数据访问层,这样子模型将会变得比较轻。CI中并未通过实体对象来传参,参数的传入和返回都由开发者控制,比较灵活。很多情况下都会以数组的方…
接着前面看, 如果做用户登录功能,用户模块会写在user_service类中。需要登录判断则会增加一个login方法,传入用户名和密码并返回bool值。user_service示例代码如下:PHP复制代码 public function login($username, $password){ $admin = $this->user_model->g…
前面对公用控制器按模块分发,方便对特定模块的控制,而具体的实现类则是放在library中。那放在library中是否合适呢?以及控制器中更多的业务逻辑该放在哪里?先说下对CI中几个文件夹的理解helpers、libraries: 存放一系列辅助函数、辅助类,用来辅助控制器、业务逻辑实现…
Codeigniter所有的控制器都必须继承CI_Controller类,但CI_Controller类位于system目录下,不太方便修改。为方便做一些公用的处理,通常情况下我们会在core下创建MY_Controller,用来继承CI_Controller,从而项目中所有的控制器继承MY_Controller。那么,MY_Controller 通…
CodeIgniter的数据库配置文件位于application/config/database.php, 该文件中定义了$db的二维数组,参考文件如下:PHP复制代码 $active_group = 'default';$active_record = TRUE; $db['default']['hostname'] = 'localhost';$db['default']['username'] = 'root';$db['…
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4