THINKPHP项目的一些坑

---》在tp中url好像不能包含中文

         localhost/HOS/Sys/Set/lst/error/错误信息   ×
         localhost/HOS/Sys/Set/lst/error/typeA √

---》tp中的join()是不会显示重复列的

---》视图层判断为空:




不为空


不为空

---》input type="text"的坑

当我们设置

---》IS_POST IS_GET

/**
     * 应用程序初始化
     * @access public
     * @return void
     */
    static public function init() {
        // 定义当前请求的系统常量
        define('NOW_TIME',      $_SERVER['REQUEST_TIME']);
        define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']);
        define('IS_GET',        REQUEST_METHOD =='GET' ? true : false);
        define('IS_POST',       REQUEST_METHOD =='POST' ? true : false);
        define('IS_PUT',        REQUEST_METHOD =='PUT' ? true : false);
        define('IS_DELETE',     REQUEST_METHOD =='DELETE' ? true : false);
        define('IS_AJAX',       ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')])) ? true : false);
 
        // URL调度
        Dispatcher::dispatch();
 
        // 日志目录转换为绝对路径
        C('LOG_PATH',realpath(LOG_PATH).'/');
        // TMPL_EXCEPTION_FILE 改为绝对地址
        C('TMPL_EXCEPTION_FILE',realpath(C('TMPL_EXCEPTION_FILE')));
        return ;
    }
  1. if(IS_POST==true){} 当有POST时才返回true
  2. 自己实验的是:
    2.1 if(IS_GET){} 无论url中有没有参数,都会返回true,
    2.2 并且当url中没有参数时,echo $_SERVER['REQUEST_METHOD'] 返回GET

结论:IS_POST好用,IS_GET不好用,可以用count($_GET)来替代

---> js中ajax中data收不到数据则为 ""

---> 在php中$_GET["hos_info"]若不存在则为NULL,在tp中I("get.hos_info")则为""

PHP中不区分NUL null

--->mysql中: where hos_code='QH001'|"QH001"|'qh001'|"qh001" 结果一样

tp中的join()使用时:

两个表连接 ->join("B on A.xx=B.xx") √
三个表连接 ->join("inner join B on A.xx=B.xx join C on A.xx=C.xx") √
->join("inner join B on A.xx=B.xx inner join C on A.xx=C.xx") √

thinkphp框架下:

mysql->php->视图层
mysql中整形字段---》php接收为 字符串---》模板中又为number

你可能感兴趣的:(THINKPHP项目的一些坑)