代码重用的好处:
- 在理想情况下,一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小。
- 成本
- 可靠性
- 一致性
使用require()和include()函数
PHP提供了两个非常简单却很有用的语句,它们允许重新使用任何类型的代码。使用一条require()或include()语句,可以将一个文件载入到PHP脚本中。
require()和include()几乎是相同的。
二者唯一的却别在于函数失败后。require()函数将给出一个致命的错误。而include()只是给出一个警告。
require()和include()也有两个变体函数,分别是
require_once()和include_once()。这两个函数的作用是
确保一个包含的文件只能被引入一次。
使用auto_prepend_file和auto_append_file
php.ini中有两个选项auto_prepend_file和auto_append_file.通过这两个选项来设置页眉和脚注,可以保证它们在每个页面的前后被载入。
在PHP中使用函数
函数的命名具有如下几个限制:
- 函数名称不能和已有的函数重名。
- 函数名称只能包含字母、数字和下划线。
- 函数名称不能以数字开始。
- 许多语言允许重复使用函数名称。这个特性叫做函数的重载。但是PHP不支持函数重载,所以自定义函数不能和内置函数或是用户已经定义的函数重名。
作用域:
PHP具有相当简单的规则:
- 在函数内部声明的变量作用域是从声明它们的那条语句开始到函数末尾。这叫做函数作用域。这些变量称为局部变量。
- 在函数外部声明的变量作用域是从声明它们的那条语句开始到文件末尾,而不是函数内部。这叫做全局作用域。这些变量成为全局变量。
- 特殊的超级全局变量在函数内部和外部都是可见的。
- 使用require()和include()并不影响作用域。如果这两个语句用于函数内部,函数作用域使用。如果它不再函数内部,全局作用域适用。
- 关键字“global”可以用来手动指定一个函数中定义或使用的变量具有全局作用域。
- 通过调用unset($variable_name)可以手动删除变量。如果变量被删除,它就不再参数所指定的作用域中了。
参数的引用传递和值传递
function increment($value, $amount = 1){
$value = $value + $amount;
}
$value = 10;
increment($value);
echo $value;
$value的内容没有被修改。这要
归因于作用域规则。
更好的办法是只用
引用传递。这里,在参数被传递给函数的时候,函数不会再创建一个新的变量,而是函数获得一个原来变量的引用。
可以通过在函数定义的参数名前加一个地址符(&)来制定参数的引用传递。
function increment(&$value, $amount = 1){
$value = $value + $amount;
}
$a = 10;
echo $a.'<br />';
increment($a);
echo $a.'<br />';
使用Return关键字
返回结果
参考资料:
PHP&MySQL.Web
分享到:
相关推荐
Deep-Learning-for-Beginners-master代码Deep-Learning-for-Beginners-master代码Deep-Learning-for-Beginners-master代码Deep-Learning-for-Beginners-master代码Deep-Learning-for-Beginners-master代码
pytorch-Learning-to-See-in-the-Dark代码,CVPR论文 亲测,可行
开源e-learning软件---eConf
由Adrian Rosebrock博士编写,Deep-Learning-For-Computer-Vision-第一册start-代码-按数据集分类。全面的代码和数据集。
21个例子学深度学习,tensorflow程序原代码Deep-Learning-21-Examples-master.21个项目玩转深度学习:基于tensorflow的实践详解
1. 指针函数 2. 函数指针 1. 指针函数 2. 函数指针
Deep Reinforcement Learning Hands-On English | 21 Jun. 2018 | ISBN: 1788834240 | 546 Pages | EPUB | 12.69 MB
title:[Oracle]--触发器加密函数利用数据库触发器和函数给数据库内容加密。加密函数一例:给数据库183添加加密函数YOURPASSWORD:手动设置
经典Q-learning走迷宫的MATLAB代码,假设一个情景,一个机器人处于一栋房子之中,希望他能够走出5号门。假定此时机器人处于0号房间之中。
原有的代码仓库也可以下载得到 https://github.com/PacktPublishing/Learning-Data-Mining-with-Python-Second-Edition 此处直接放在了CSDN上,方便大家下载,若有用,请大家多多支持一下我。
Mastering Machine Learning with scikit-learn代码 Mastering Machine Learning with scikit-learn代码 Mastering Machine Learning with scikit-learn代码
Learning scikit-learn- Machine Learning in Python 电子书的代码,对学习机器学习非常有帮助。
Octave语言 斯坦福机器学习课程作业答案 Coursera-机器学习(吴恩达)第二周 week2 编程作业答案
Learning-based Video Motion Magnification代码+预训练模型data+测试视频数据baby
Reinforcement-learning-with-tensorflow-master
赠送jar包:deeplearning4j-nn-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-nn-1.0.0-M1.1-javadoc.jar; 赠送源代码:deeplearning...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
machine-learning-ex4 吴恩达 机器学习 课程习题代码
配合教材Bayesian Reasoning and Machine Learning的源代码,值得收藏
赠送jar包:deeplearning4j-core-1.0.0-M1.1.jar; 赠送原API文档:deeplearning4j-core-1.0.0-M1.1-javadoc.jar; ...人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
mastering machine learning with scikit-learn 源代码