php的跨文件变量?
global $g是一个脚本文件中, 函数外部的变量在函数中要使用时的 全局变量
$_GET等是所谓的"超全局变量", 但仍然是只能在一个脚本的范围内使用
要在所有的文件直接都可以使用 的变量 : $_SESSION $_COOKIE 或者使用数据库 中的表 字段.
读取项目Index中的配置文件?
注意, thinkphp中 使用了大量的 "单字母方法!" ,
一切都是: 为了快速开发, "写得更少, 做的更多" " 更适合人的常规思维" ,
所以, 很多操作, 自己 凭想象都可以猜得到, 而thinkphp正是这样的 一切以方便 人为出发点进行的
可以在控制器IndexAction类的方法index中, 通过C()函数方法: echo C('下标') 来读取项目Conf/config.php
配置文件中的配置项.
注意, 读取配置文件时, 框架和实际项目的配置文件都将去读取, 但是有优先级的:
C('配置项的名称'), 总是优先查询 项目下的Conf/config.php中的内容, 然后是 去查询/读取 thinkphp框架中的 php配置文件.
控制器中的方法, 读取配置文件时, C()方法不区分 下标的大小写?
配置文件的下标都 写成"全大写", 在引用配置时, 可以写小写.
在thinkphp的ORM中, 数据库/表/记录 都有相应层次的 对象 与之相对应:
其中, 与表table 相对应的 对象是: 表对象:$db = M('table_name');
由于表的 select/ insert/delete/update 的功能, 就由 "表对象" 相应层次的操作方法: $db -> select()/insert()/delete()/update()来实现.
如何修改项目的配置项?
在进行orm操作时, 直接调用了M(odel)方法: $db=M('tableName'); 并没有像手工操作时, 指明数据库连接的参数和语句?
因为这些数据库连接参数 , 都在配置文件中进行了设置...
一般不建议修改thinkphp框架的配置文件convention.php(惯例配置文件),因为: 如果在升级框架时, 会用新框架的文件覆盖原来的框架
如果将项目的配置写在框架中, 则升级时将会被清除项目的配置.
所以, 如果项目的配置和convention.php的配置不合, 则把项目的配置项 写在Index/Conf/config.php文件中.
多个子项目?
一个整个的项目, 是由几个 子项目 构成的, 如:前台, 后台, 等等
你可以在整个项目中, 创建多个子项目,
每个子项目, 由一个 对应的 子项目的入口文件和一个对应的子项目目录 组成, 如:
前台: index.php 和 Index目录组成(前台用Index来表示)
后台: admin.php 和 Admin 目录组成.(后台用Admin来表示).
---------------------------------
php函数调用方法:
如果是全局的函数, 当然就直接是 写函数名调用即可: global_foo_func();
但是, 如果你是调用的 类里面的 函数方法, 你就不能直接写 函数名了: 因为 你直接写函数名调用, 在全局函数中, 根本就没有你写的那个 函数. 所以不能直接写 .
第一, 如果要调用类中的函数, 你必须在方法前面 加上 类的对象(针对 实例方法), 或者类名 (针对 类方法)
第二, 调用的地方不同, 写法也不一样: 在类的外部 要用具体的实例名 或类名, 如$a_obj . 在类的内部 函数中, 要用其他借代 的名字, 如: $this, self::, parent等等
表示 调用这个函数的 对象和被调用函数的对象 是同一个对象