《PHP和MySQL Web开发》笔记之使用PHP(二)
第五章 代码重用与函数编写
require()或include()可以将一个文件载入到php脚本中。
这两个函数几乎等价,唯一的区别是调用失败后require()给出一个致命错误,而include()只给出一个警告。
如果Web页面具有一致的外观,可以将相同的部分分离到单独的页面中,然后可以在php中使用require()语句将模板元素加入到页面中。
如果希望保证一个文件将被当作普通文本或html,而不执行任何php,可以使用readfile()作为替代方法。
require_once()和include_once()可以保证某个文件只被包含一次,在使用函数库的时候,这两个函数非常有用,可以防止意外地多次包含相同的函数库,从而导致函数的重复定义并产生错误。
也可以在php.ini配置文件中,使用auto_prepend_file和auto_append_file这两个选项来设置页眉和页脚,可以保证它们在每个页面的前后被载入。此时就可以不再用include()语句。
auto_prepend_file = "/home/***/header.inc"
如果使用的apache,则可以给每个目录单独设定,在目录中创建名为.htaccess的文件,并在文件中包含如下的代码:
php_value auto_prepend_file "/home/***/header.inc"
(php的很多其它选项也可以通过这种方法来设置)
函数声明方法:
function my_function()
{ echo 'myfunction'; }
函数调用不区分大小写。function_name()等价于FunCtion_NaMe()。
php中函数定义不能和已有的函数重名,即不支持函数的重载。但可以包含默认的参数。
php中也可以声明能够接收可变参数数量的函数,通过如下三个函数:
func_num_args()、func_get_arg()以及func_get_args()。
function var_args()
{
echo "Number of parameters:";
echo func_num_args();
$args = func_get_args();
foreach($args as $arg)
echo $arg.'<br />';
}
php具有超级全局变量,在任何地方可见。
使用require()和include()并不影响作用域,被包含的全局作用域变量仍然可用。
关键字"global"可以用来手动指定在一个函数中定义或使用的变量具有全局作用域。
unset($var)可以手动删除变量,在此之后就不能再使用了。
php函数参数也有“值传递”和“引用”传递。
function increment(&$value, $amount = 1){}
$value就是引用传递,$amount就是值传递。
return可以退出函数的执行。 也可以用return来从函数中返回一个值。
function larger
相关文档:
最近在研究CMS,在数据转换的时候需要用到mysql的replace函数,这里简单介绍一下!
比如你要将 表 tb1里面的 f1字段的abc替换为def
UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def');
REPLACE(str,from_str,to_str)
在字符串 str 中所有出现的字符串 from_str&nbs ......
在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了:
一个简单的例子就是计算借书的天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法:
(1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可 ......
安装好mysql后,在使用mysq时,出现了如下问题.
java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
at org.gjt.mm.mysql.MysqlIO.init(MysqlIO.java:327)
at org.gjt.mm.mysql.Connection.connectionInit(Connection.java:261)
at org.gjt.mm.mysql.jdbc2 ......
http://hi.baidu.com/tianxia_1209/blog/item/a2613822fec7e7f6d6cae267.html
MYSQL的事件是5.1新增加的,如果想体验,建议升级版本。
至于语法我就不多说了,手册上讲的很详细,我来说说几个要点以及一些实例。
注意事项:
1、EVENT权限是针对模式的(在MYSQL中也就是库的级别),不能对单独表来赋予权限。
2、必须在 ......