中山php|最优网络 :中山做网站 中山php建站
最优良人
Category Page for: 后端程序
PHP面向对象之继承
2011/08/14 at 02:26 » Comments (262)
用class关键字创建两个类,Son类继承Parents类: class Parents{ } class Son extends Parents { } 如果子类没定义构造函数,初始化子类时会自动调用父类的构造函数,并且函数里面可以调用子类的公共属性,但是如果调用子类的private私有属性则不可以,另外由 protected 所定义的类成员则可以被其所在类的子类和父类访问 class Parents{ function __construct(){echo $this->name;} } class Son extends Parents { var name = 'lin'; } $Son = new Son(); 如果子类定义了构造函数或者其他与父类同名的函数,会把父类函数覆盖,想调用父类该函数可以用parent:::func()来调用。如果父类函数用了final关键字,子类重定义该函数时就会报错。 more »PHP面向对象之抽象类与接口
2011/08/14 at 02:25 » Comments (262)
定义抽象类使用abstract关键字,主要用于定义规范,其函数必须被继承的子类全部重载后才能实例化,重载不全会报错 abstract class AbClass{ abstract function a1(); abstract function a2(); } class AbSonClass extends AbClass{ //全部重载父类方法 function a1(){ echo "抽象方法1"; } function a2(){ echo "抽象方法2"; } } 接口和抽象类非常相似,接口的引用,可以多引用,通过关键字implements 引用,全部为抽象方法,在引用它的子类里面也必须全部覆盖所有方法 interface InClass{ ...more »php关于session使用中需要注意的地方
2011/08/14 at 01:36 » Comments (216)
1,session的注销 清除session变量所有的值,应该使用$_SESSION=array(); 而不是$_SESSION=null或者unset($_SESSION); 需要销毁session节省开销的时候,可以使用session_unset() ,session_destroy()。两者的区别: session_unset() 释放当前在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的session id session_destroy() 删除当前用户对应的session文件以及释放session id,内存中的$_SESSION变量内容依然保留 彻底销毁session正确的顺序是 session_unset(); session_destroy(); 2,$_SESSION[$key],session的键值$key必须符合php变量的定义规则,即不能以数字或特殊符合开头。 more »判断一个数组里是否都是空字符串
2011/08/14 at 01:10 » Comments (3)
有时我们要把一个全为空字符串组成的数组如:array('','','');当成是空对待,因为里面不含任何数据 使用empty()显然是不行的,因为里面包含了三个值,只是这些值都是空字符串,用count()也不可以 那么可以用一种变通的方式,先把数组用implode转换成字符串,再判断字符串是否为真就可以了: $a=array('',''); $a = implode('',$a);i f($a)'为真'; else echo '为假'; more »dede调取不到wordpress的文章表wp_posts里面的id
2011/08/14 at 00:28 » Comments (352)
在前面一篇文章 dedecms调取其他表的数据 中,谈到dede调取其他表数据的两种方法,使用第一种loop方法调取wordpress的最新文章时,遇到一个问题,就是在下面语句中 {dede:loop table='wp_posts' row='8' if="post_status='publish'" sort="post_date" } <li> <a href="/blog/view-[field:id /].html">[field:post_title/] </a> </li>{/dede:loop} [field:id /]的数据始终调不出来,解决的办法是使用第二种方式,用别名代替字段id {dede:sql sql="Select id as post_id,post_title as post_title from wp_posts where post_status='publish' order ...more »dede模板循环列表里面对某个字段进行php判断运算
2011/08/13 at 23:58 » Comments (413)
例如以下代码是实现dede调取info表的最新文章,如果字段col_key等于news,则返回info,达到重新拼接链接的作用 {dede:loop table='info' row='8' sort="id" } <li> <a href="/[field:array runphp='yes'] if (@me['col_key']=='news') @me='info';[/field:array]/index/cate/[field:cate_id/]/view/[field:info_id/]">[field:title/] </a> </li> {/dede:loop} more »dedecms调取其他表的数据
2011/08/13 at 23:47 » Comments (454)
dedecms可以在模板直接调用同数据库里其他数据表的数据,有两种常用的方法, 1,用loop标签,比如论坛的新帖,调取的格式是 {dede:loop:table="表名" if="条件" sort="倒序排序的字段名" row="条数"} {/dede:loop} 例如调用论坛最新主题 {dede:loop table="cdb_threads" if="fid=5 and displayorder!=-1" sort="views" row="10"} <a href="/dz/viewthread.php?tid=[field:tid /]"> ·[field:subject function="cn_substr('@me',30)" /]([field:lastpost function="date('m-d H:M','@me')" /]) </a> {/dede:loop} 2,用sql标签 {dede:sql sql="Select id as post_id,post_title as post_title,post_type,post_date from wp_posts where post_type = 'post' order ...more »PHP设置页面编码的两种方法
2011/08/13 at 18:06 » Comments (194)
php输出页面时,设置页面的编码有两种方式 1:输出meta标签: echo '<META http-equiv="content-type" content="text/html; charset=utf-8">'; 2:使用header函数 header("content-type:text/html; charset=utf-8"); more »php字符串首字母转换大小写
2011/08/13 at 18:04 » Comments (19)
首字母变大写:ucwords() <?php $foo = 'hello world!'; $foo = ucwords($foo); // Hello World! $bar = 'HELLO WORLD!'; $bar = ucwords($bar); ...more »Fleaphp 关闭日志服务
2011/08/13 at 12:44 » Comments (406)
fleaphp框架日志服务开启的时候回产生大量的日志文件,对于大部分寸土寸金的虚拟空间来说是个不小的压力,只要重新定义一下'logEnabled'这个配置参数,改为false就可以关闭了 more »