加上这个。直接访问控制器的时候是先执行这个函数里面的代码,然后再去执行别的函数的代码
construct()是php内置的构造函数,initialize()是php框架中定义的(如thinkphp),用法基本一致。
在tp中若父类和子类都有_initialize,则只调用子类的_initialize,并不会自动调用父类_initialize
而子类的construct方法如果要调用父类的construct方法,必须在子类构造函数显示调用parent::__construct();
_initialize()是ThinkPHP定义的控制器初始化函数。功能类似于php原生的construct。
网上很多人说用_initialize就可以不用写parent::__construct了,这种说话是不对的。
只有当你的控制器继承了think\Controller时,你可以直接在控制器中使用_initialize(),此时会执行父类的construct和当前类的_initialize。
当你的控制器是作为think\Controller的子类的子类时,只会执行think\Controller的__construct和当前类的_initialize,并不会执行父类的_initialize,所以此时还是需要加parent::_initialize这句才行。
其实think\Controller只是在__construct中加了一句:$this->_initialize()而已。
1、公共文件,配置个 Base.PHP, 里面写入:_initialize(){
方法
}
2模块文件,控制器里面 也写个 _initialize(){
方法
}
访问时候,如果一样, 2 就会 覆盖1 ;
第一步:验证用户名
get
guestbook/index.php
m:index
a:verifyUserName
username:要验证的用户名
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}
第二步: 用户注册
post
guestbook/index.php
m:index
a:reg
username:要验证的用户名
password:注册密码
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}
第三步: 用户登录
当登录成功时,调用更新状态函数
post
guestbook/index.php
m:index
a:login
username:要登录的用户名
password:登录密码
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}
第四步:检验cookie
写一个获取cookie的函数,根据cookie值是否存在来写一个更新用户状态的函数
第五步:用户退出
当用户退出时,调用更新状态函数
post
guestbook/index.php
m:index
a:logout
返回{
code:返回的信息代码 0=没有错误,1=有错误
message: 返回的信息 具体返回的信息
}
(以上是步骤说明和一些后端接口)