美文网首页
CI基础(二)

CI基础(二)

作者: yzw12138 | 来源:发表于2017-12-20 12:18 被阅读0次
  • 重映射方法:_remap()
    CI中的url中的两端通常是控制器名和方法名,如果我们想改变这种规则就可以使用_reamp方法;该方法可以将ur中的方法名当做参数传入,进行逻辑处理后在确定调用哪个方法;可以实现验证用户登录类型等功能;
//如果访问add1()方法就让其访问edit()方法,否则访问原有方法
public function _remap($method)
    {
        if ($method === 'add1')
        {
            $this->edit();
        }
        else
        {
            $this->$method();
        }
    }
  • URL辅助函数
    • site_url():包含了index.php,以及在配置文件中设置的url_suffix(url后缀,如:.html)参数,直接在括号内添加控制器名/方法名/参数,添加的参数可以是字符串,也可以是数组,将控制器名,方法名,参数添加到数组里进行传递;
    • base_url():和site_url()相同,只是不包含index.php和url_suffix参数;
    • current_url():返回当前页面完整的url;
    • uri_string():返回包含该函数的页面的 URI 分段(只返回控制器名/方法名/参数)
    • index_page():返回配置文件中的index_page参数;
    • anchor($uri = '', $title = '', $attributes = ''):url链接,三个参数分别是url地址,链接文本和链接属性(字符串或数组)
  • 视图文件中创建链接:anchor()
//点击‘跳转’会直接跳转到前面写的url
<?php echo anchor('blog/comments', '跳转');?>
  • 我们可以对CI原生的辅助函数和类库进行扩展、替换,还可以创建自定义的辅助函数和类库,但是数据库类不能被扩展和替换。如果在加载类库时,通过第二参数传递一个数组,则该数组会被传递到构造函数中;如果出入参数,你写的构造函数也必须加上参数。
  • 通常情况下我们通过$this调用CI中可用的方法,但是$this只能在控制器、模型和视图中使用,如果你想在自己定义的类中使用CodeIgniter类,就必须使用以下方法,该方法是通过引用来传递,并不是创建一个新的对象。
//自定义类中必须用这种方法使用CodeIgniter
$CI =& get_instance();
$CI->load->helper('url');
  • 自动加载:
    在application/config/autoload.php中配置,支持自动加载的如下:

    • library核心类库
    • helpers辅助函数
    • config用户自定义配置文件
    • system/language下的语言文件
    • models模型类
  • 设置自己的路由规则
    在config/route.php中配置自己的路由规则:

$route['aaa'] = 'member/add1';

配置完成后,程序中所有用到member/add1路由的地方都可以使用aaa替代,同时通过member/add1也可以继续访问,这样隐藏了自己真实的url;

  • 页面缓存
    将下面一段代码放在方法的任意一个地方,页面数据就会进行缓存;
//$n便是页面缓存n分钟
$this->output->cache($n);

如果想要删除缓存,可以直接删除方法的这一行代码,但是删除代码后不会立即生效,必须等到缓存过期后才会生效;也可以手动添加代码进行删除:

$this->output->delete_cache();
  • 程序分析器
$this->output->enable_profiler(TRUE);

直接在方法最后加上该行代码,当调用此方法时,就会在页面底部显示分析报告;


image.png
  • 通过CLI方式访问项目
    首先打开终端,cd到项目所在目录,输入$ php index.php login index,会和浏览器打开一样,如:在controllers新建login类,添加方法message,方法内容为
<?php
class Login extends CI_Controller {
    public function message($to = 'World')
    {
        echo "Hello {$to}!".PHP_EOL;
    }
}

此时输入命令后会直接显示”Hello Word!“

相关文章

  • CI基础(二)

    重映射方法:_remap()CI中的url中的两端通常是控制器名和方法名,如果我们想改变这种规则就可以使用_rea...

  • CI框架基础入门(二)

    目录 载入验证类 CI汉化 创建模型 载入模型 配置数据库 防跨站 输入类 使用AR类操作数据库(增删改查) 分配...

  • 手把手搭建CI

    为了更好地阅读体验,欢迎访问博客原文 第一个Build CI Dojo的第二次课程,基于上次课程 CI基础 & S...

  • CI基础

    一简介 Web应用程序框架; 开源免费; 真正的轻量级框架,核心系统需要的库小,库通过动态请求加载,速度快; 采用...

  • C++/const

    基础const const int ci;常对象,其值不可改变const int & rci = ci;常引用,不...

  • CI基础班

    DAY1 introduce the people who is not sit beside you (name...

  • gitlab CI/CD 将react、vue项目打包成Dock

    用了好多CI/CD工具,个人感觉 gitlab-ci 还是挺好用的。基础环境搭建在此文章不说明(如gitlab安装...

  • 05 - Gradle构建任务

    前面几篇介绍了CI基础环境的部署,但是缺少灵魂,这里的灵魂,我们选用Gradle 基础框架基础概念常用命令 新建项...

  • vim命令记录--慢慢丰富

    选择、删除、复制等,超级实用: ci'、ci"、ci(、ci[、ci{、ci<- 分别更改这些配对标点符号中的文本...

  • DevOps CI/CD 分析(三)之K8S yaml模版配置详

    前面我们讲解了Dockerfile基础命令、编写Dockerfile,因为整个DevOps CI/CD过程所涉及的...

网友评论

      本文标题:CI基础(二)

      本文链接:https://www.haomeiwen.com/subject/txiwwxtx.html