PHP学习笔记.docx
《PHP学习笔记.docx》由会员分享,可在线阅读,更多相关《PHP学习笔记.docx(20页珍藏版)》请在冰豆网上搜索。
PHP学习笔记
php
//连接数据库
mysql_connect('127.0.0.1','code1','');
mysql_select_db('code1');
mysql_query("setnames'utf8'");
//预设翻页参数
$page=2;
$pagesize=2;
//在这里构建分页查询
$m=($page-1)*$pagesize;
$sql="select*fromuserlimit$m,$pagesize";
//获取翻页数据
$result=mysql_query($sql);
$data=array();
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
$data[]=$row;
}
echo'
';print_r($data);
echo'
';
PHP5可以在类中使用__construct()定义一个构造函数,具有构造函数的类,会在每次对象创建的时候调用该函数,因此常用来在对象创建的时候进行一些初始化工作。
classCar{
function__construct(){
print"构造函数被调用\n";
}
}
$car=newCar();//实例化的时候会自动调用构造函数__construct,这里会输出一个字符串
在子类中如果定义了__construct则不会调用父类的__construct,如果需要同时调用父类的构造函数,需要使用parent:
:
__construct()显式的调用。
classCar{
function__construct(){
print"父类构造函数被调用\n";
}
}
classTruckextendsCar{
function__construct(){
print"子类构造函数被调用\n";
parent:
:
__construct();
}
}
$car=newTruck();
同样,PHP5支持析构函数,使用__destruct()进行定义,析构函数指的是当某个对象的所有引用被删除,或者对象被显式的销毁时会执行的函数。
classCar{
function__construct(){
print"构造函数被调用\n";
}
function__destruct(){
print"析构函数被调用\n";
}
}
$car=newCar();//实例化时会调用构造函数
echo'使用后,准备销毁car对象\n';
unset($car);//销毁时会调用析构函数
当PHP代码执行完毕以后,会自动回收与销毁对象,因此一般情况下不需要显式的去销毁对象。
任务
我也来试一试:
给Car类编写一个构造函数与析构函数。
在右侧代码编辑器第4行输入下面代码:
function__construct(){
print"构造函数被调用\n";
}
function__destruct(){
print“析构函数被调用\n”;
}
在ThinkPHP中,eq(=),neq(!
=),gt(>),egt(>=),lt(<),elt(<=),heq(===),nheq(!
==)。
在APP—>lib—>Tpl下存放模板,在Tpl下建立文件夹index,建立HTML文件,index.html,在其他PHP文件中用$this->display();方法来调用模板。
在display(“写明路径”)。
模板的赋值与输出,在php文件中,$name=‘Donsen’;$this->name=$name;$this=display();
在index.html模板中:
{$data.name}已经成年了!
{$data.name}还是个孩子!
echo$person[1][‘name’]
数据库连接
MD5加密
实例化
在PHP中,=>与->的区别:
在PHP中,=>操作符通常用于数组操作中,一般形式如下:
array(key=>value
...
)
键(key)可以是一个整数(integer)或字符串(string),值(value)可以是任意类型的值。
如:
$arr=array("foo"=>"bar",12=>true);
===================================
->操作符用于类、对象的操作中,以下是示例:
php
classfoo
{
functiondo_foo()
{
echo"Doingfoo.";
}
}
$bar=newfoo;
$bar->do_foo();
?
>
数据库的插入:
建立一个
建立一个入口文件后,会自动生成很多文件夹:
前台入口文件:
创建Admin后台处理文件:
Home——>前台
页面调试工具:
框架:
快捷键:
关闭文件:
Ctrl+W
Ctrl+Shift+l:
调出快捷键面板
对象继承
继承是面向对象程序设计中常用的一个特性,汽车是一个比较大的类,我们也可以称之为基类,除此之外,汽车还分为卡车、轿车、东风、宝马等,因为这些子类具有很多相同的属性和方法,可以采用继承汽车类来共享这些属性与方法,实现代码的复用。
重载
PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的。
属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值、读取、判断属性是否设置、销毁属性。
classCar{
private$ary=array();
publicfunction__set($key,$val){
$this->ary[$key]=$val;
}
publicfunction__get($key){
if(isset($this->ary[$key])){
return$this->ary[$key];
}
returnnull;
}
publicfunction__isset($key){
if(isset($this->ary[$key])){
returntrue;
}
returnfalse;
}
publicfunction__unset($key){
unset($this->ary[$key]);
}
}
$car=newCar();
$car->name='汽车';//name属性动态创建并赋值
echo$car->name;
方法的重载通过__call来实现,当调用不存在的方法的时候,将会转为参数调用__call方法,当调用不存在的静态方法时会使用__callStatic重载。
classCar{
public$speed=0;
publicfunction__call($name,$args){
if($name=='speedUp'){
$this->speed+=10;
}
}
}
$car=newCar();
$car->speedUp();//调用不存在的方法会使用重载
echo$car->speed;
连贯操作:
一般不用这个分页,thinkPHP官方有个分页类
多表查询: