调试模式开启,$this->output->enable_profiler(TRUE);

保留字,不能和控制器重名,有3个,CI_Controller ,Default, index。这三个名字不能在控制器的名字中。在controllers的目录中 index.php 和Default.php ,CI_Controller.php这三个名字不能有。

命名规范:

类的名字用大写开头,不用驼峰命名,多个单词用下划线。 如 class Some_class {}

类的方法,全部用小写,并且指出方法的功能,最好包含一个动词,多个单词用下划线,避免过长。如 function get_file_properties()

变量的命名,和类一样,全部“小写”和“下划线”,指明该变量的用途,极短的无意义名字用在for循环中做迭代。

注释,使用DocBlock风格的,单行的注释和代码和在一块,大块的注视和代码之间,应该留一个空行。

常量的命名,全部用“大写”和“下划线”,尽量使用CI框架已经定义好的常量,如SLASH,LD,RD,PATH_CACHE,等。

TRUE,FALSE,NULL,这几个关键字全部大写。

逻辑运算符,避免使用 || 使用 OR ;避免AND,使用 && ;在!之前之后,都要加空格。

返回值比较时,在一些php函数返回FALSE时,或许返回“” 或者“0”这样的有效值,这些值在松散类型比较时和FALSE是相等的,所以在条件比较时,必须使用 “===” 或者 "!==",一定不要使用 "==" 或者"!="

文件中的空格,在“<?php” 前面和 “?>”的后面,不要有空格,输出是被缓存的,有空格导致头输出错误。

代码缩进,使用Allman代码风格,除了类的定义后带花括号,其他的花括号都占单独一行。

小括号和中括号中的空格,不使用多余空格,除非是在控制语句的中间需要加的空格 。

不使用短标记,用全标记,<?php    ?>

字符串用单引号,当字符串中有变量$时用双引号,并且用大括号把变量包起来,如“My string is {$foo}”,如果字符串中有单引号时,为了避免使用转义字符,使用双引号。

SQL查询语句,关键字使用大写。

缺省的函数参数,最好能提供缺省值。function ($foo = '', $baz = FALSE)

等于号 “=” 两边有空格, 逗号","前没有空格,后面有空格。

CI 笔记2,(命令规范等)的更多相关文章

  1. 【山外笔记-SVN命令】svn命令详解

    本文打印版文件下载地址 [山外笔记-SVN命令]svn命令详解-打印版.pdf 一.命令简介 svn命令用于Subversion命令行客户端,执行svn相关的操作. 二.命令语法 1.svn语法: ( ...

  2. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  3. memcached学习笔记——存储命令源码分析上篇

    原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...

  4. MOOS学习笔记3——命令行

    MOOS学习笔记3--命令行 例程 /** * @code A simple example showing how to use a comms client问问怎么样 */ #include &q ...

  5. Google C++命令规范

    最近发现自己在开发程序的过程中,经常会将好几种命名规范进行混用,这样使得程序的可读性下降,于是乎依然决定学习并使用Google的命令规范,并且坚持使用. copy from https://www.c ...

  6. 【山外笔记-SVN命令】svnlook命令详解

    本文打印版问文件下载地址 [山外笔记-SVN命令]svnlook命令详解-打印版.pdf 一.命令简介 svnlook是检验Subversion版本库不同方面的命令行工具,不会对版本库有任何修改,只是 ...

  7. CI 笔记(easyui js命令)

    1. 两种方式加载easyui,一是用class自动渲染,一种是js.建议js. 2. 参考李炎恢的easyui的视频教程.最好的一个视频,对于easyui.

  8. Zookeeper笔记之命令行操作

    $ZOOKEEPER_HOME/bin下的zkCli.sh进入命令行界面,使用help可查看支持的所有命令: 一.节点相关操作 create [-s] [-e] path data acl creat ...

  9. [Golang学习笔记] 02 命令源码文件

    源码文件的三种类型: 命令源文件:可以直接运行的程序,可以不编译而使用命令“go run”启动.执行. 库源码文件 测试源码文件 面试题:命令源码文件的用途是什么,怎样编写它? 典型回答: 命令源码文 ...

随机推荐

  1. Delphi WebBrowser控件的使用(大全 good)

    Delphi WebBrowser控件的使用 WebBrowser控件属性:1.Application      如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDis ...

  2. spring没能给struts2创建出action,可能出现的原因

    spring没能给struts2创建出action,可能出现的原因: 1.没有加载struts2-spring-plugin-2.1.8.1.jar 2.包冲突,删除asm.jar(网上说的) 3.s ...

  3. MonkeyRunner 连续两次点击报“Error sending touch event”

    最近用monkeyrunner做自动化测试,遇到连续两次点击,第二次点击就会报错“Error sending touch event”. 具体做法如下: device.touch(234,112, ' ...

  4. 深入浅出Node.js (9) - 玩转进程

    9.1 服务模型的变迁 9.1.1 石器时代:同步 9.1.2 青铜时代:复制进程 9.1.3 白银时代:多线程 9.1.4 黄金时代:事件驱动 9.2 多进程架构 9.2.1 创建子进程 9.2.2 ...

  5. Trailing return types

    Trailing return types是C++11关于函数声明的语言特性之一,旨在解决模版编程遇到的语法相关的问题,先看一个简单例子,感受一下什么是trailing return types: C ...

  6. Linux学习笔记26——信号量

    一 信号量的基本概念 信号量:它是一个特殊变量,只允许对它进行等待和发送信号这两种操作. 假设有一个信号量变量sv P(sv):用于等待,如果sv的值大于零,就给它减去1,如果它的值等于零,就挂起该进 ...

  7. 折腾iPhone的生活——通过设置使iPhone更省电

    入手了iPhone5s,上手感觉iPhone没有过去省电了,可能是iOS7的关系,也有可能是我一直在下应用的关系,但是iPhone5s那1500mA的电池的确是有点真的不那么够用的样子,通过设置来省电 ...

  8. c语言 快速排序---归并排序----堆排序

    //快速排序: #include <stdio.h> #define MAX 500000 int s[MAX]; void Q_Sort(int start,int end) { int ...

  9. CF 121E Lucky Array 【树状数组】

    这个题目的数据感觉不能更水了.从复杂度上计算,肯定有极限数据可以卡掉暴力方法的么. 总之,暴力的做法就是树状数组了,对于区间更新,就挨个更新就是了.当然,判断是否是Lucky Number的话,可以用 ...

  10. Android 解决ScrollView下嵌套ListView进页面不在顶部的问题

    以下为整理: 方法1 刚开始还可以,后来再调试时就不行了. 为了解决scrollview和listview冲突  设置了listview的高度   结果进页面就不是在顶部了 . 解决方案1:Scrol ...