|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
PHP和HTML混合编程应该不成问题,在这期间,你完全可以让PHP给你算算 一加一等于几,然后在浏览器输出,不要觉得幼稚,这的确是跟阿波罗登月一样,你打的是一小段代码,但是对于你的编程之路,可是迈出了一大步啊!兴奋吧?但是不得不再给你泼点冷水,您还是菜鸟一个。函数|语法 函数
在 PHP 中,答应法式设计者将经常使用的流程或变量等元件,组织成一个固定的格局。也就是说用户可以自行组合函数或是类。
PHP 中的函数 (function) 和 C 言语一样,包含有前往值及无前往值,不像 Pascal 分红函数 (function) 和法式 (procedure) 那末庞杂。
在函数的称号上,PHP 关于巨细写的控制很松懈。可以在界说函数时写成大写的名字,而在利用时利用小写的名字。总之,对函数而言,不必管巨细写,只需注重称号没有反复就行了。
以下就是函数的利用语法
function myfunc($arg_1, $arg_2, ..., $arg_n) {
// 履行一些步调
return $retval;
}
在利用时,在自定的函数称号前要到场 function 的保存字,暗示这是界说用户自定函数。以后的 myfunc 可所以任何的英文字母开首的字符串,字符串除开首不克不及是数字或是下划线,在第一个字母后可所以阿拉伯数字或是下划线,固然其它的符号或是中文字不克不及当函数名。
$arg_1 到 $arg_n 为函数利用的参数,参数之间利用逗号离隔。在参数后的大括号 {},即为全部函数的局部。函数假如前往值,利用 return 可将值前往。而参数可以事前界说初始值或默许值。有界说默许值参数在利用函数时可以省略,但必定要放在没有设置装备摆设默许值参数的前面,不然 PHP 在解析函数时,会呈现毛病。
别的就是参数的类型,只需参数是 PHP 撑持的变量类型都可使用,不管是数组、字符串、或是整数....等等。前往值也是一样。
上面即为利用默许值及不必默许值例子
<?php
function myfunc1($arg_1, $arg_2, $arg_3="我是默许字符串") {
echo $arg_1+$arg_2;
echo $arg_3."<p>\n";
}
myfunc(3, 4); // 参数 $arg_3 省略。
myfunc(6, 6, "不必默许值") // 输出参数 $arg_3。
?>
参数的值,凡是利用传值体例输出,有时在值得的需求时,可使用传址的体例,传入参数的指针。办法就是在参数的后面加上 & 符号便可。以下例
<?php
function myfunc2(&$argstr) {
$argstr=ereg_replace("/", "-", $argstr);
}
$today="2000/01/01";
myfunc2($today);
echo $today; // 2000-01-01;
?>
类
用户界说的类,也是学好 PHP 所必备的前提之一。而 PHP 的类,和其它的面向对象言语对照起来,还算蛮纯真的。PHP 只要种别 (class)、办法 (method)、属性、和单一承继 (extensions) 等。对不习气利用 C++、Java、Delphi 等面向对象言语来开辟法式的用户,无妨先浏览一下有关面向对象概念的书,信任可以带来很多的播种。
上面的典范是手推车类。可以看到,利用 class 暗示它是一个类种别。在种别中的 function,例如 add_item 则暗示该类的一个办法。办法可以封装类的实践处置情况,让该类本人能依封装好的办法来履行一些步调。
法式中的 $this 类变量也和 $GLOBALS 及 $php_errormsg 两个变量一样,在 PHP 中属于特别的变量。$this 变量只用在类种别中,暗示类的自己。
<?php
// 法式名: cart.inc
class Cart {
var $items; // 手推车类
// 本办法到场 $num 件物品得手推车中 (加到 $artnr 变量)
function add_item ($artnr, $num) {
$this->items[$artnr] += $num;
}
// 本办法从手推车削减 $num 件物品 (从 $artnr 变量减失落)
function remove_item ($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num;
return true;
} else {
return false;
}
}
}
?>
要利用手推车可以用相似下例的体例。可以先将每一个类存成 Include 文件,再将它 require 或 include 出去。在界说变量 $cart 时,要利用 new 的保存字,暗示 $cart 利用 Cart 类。利用 -> 符号,暗示履行类的办法。
<?php
require("cart.inc");
$cart = new Cart;
$cart->add_item("10", 1);
?>
以后再设计有记名的手推车。记名手推车从手推车遗传上去,因而手推车具有的办法及属性,记名手推车也有,而记名手推车比手推车增添了名字的办法 (也许该称属性较得当)。
从下例中可以看到,子类 Named_Cart 利用 extends 来承继其父类 Cart。固然 Named_Cart 类中没有增添物品及削减物品的办法,不外因为遗传的特征,父类有的器材它都有。
<?php
// 法式名: named_cart.inc
require("cart.inc");
class Named_Cart extends Cart {
var $owner;
function set_owner ($name) {
$this->owner = $name;
}
}
?>
要利用记名手推车类,请看上面的典范。固然这不算太好的设计,每一个子类都一向 require 它的父类,会形成办事器在 I/O 下面的承当。在实作时,可以将全部系列的类在统一个法式文件中,从最早的先类到最初的子孙类,也便利往后修改。
<?php
require("named_cart.inc");
$ncart = new Named_Cart; // 创立类变量
$ncart->set_owner ("CyberRidder"); // 设置装备摆设类的记名属性
echo $ncart->owner; // 显示类的记名属性
$ncart->add_item ("10", 1); // 从父类遗传的办法也可以使用
?>
因而,在 PHP 中利用了 extends 保存字,加上优秀的体系剖析与完全的 CRC 卡片 (详会晤向对象相干书本) 设计以后,PHP 可酿成具有壮大类才能的 CGI 言语。
PHP 因为是剧本言语 (Script),因而法式源代码可见,在软件工程中的元件黑箱其实不会在今朝的 PHP 版本中呈现,也就是说,全体的类其实没有埋没起它的内容。关于软件业者而言,没有举措回护所谓的软件 IC,站在开放整体而言,反而有源代码是件功德,至于孰是孰非,就很难剖断了,不外今朝 PHP 仍是 Open Source 整体的一分子,也许往后 Zend 引擎可以做到类封装的功效也纷歧定。
多个成员之间重复做相同的工作,很容易因为交流沟通的时候没有进行一致性的文档要求而出现不明错误,严重影响开发进度,导致在预定时间内无法完成该项目或者完成的项目跟原先计划所要实现的项目功能不符合。 |
|