PHP教程之PHP面向对象 笼统类 接口 常量进修
会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!PHP笼统类的利用和界说 <?php abstract class A { public $name; function fun(){ echo $this->name; } abstract function cc($n,$nn=3);}class B extends A{ function cc($m,$mm=7){ echo "aaa"; }}$b = new B; ?> PHP面向对象 ,接口的界说利用 <?php interface in_a{ const NA=7; const NB=9; function fun(); function fun2(); } interface in_b{ function fun3(); } class B{ function cc(){ } } class A extends B implements in_a,in_b{ function fun(){ } function fun2(){ } function fun3(){ } } $p=new A; ?> 两个例子: 笼统类的例子: <?php abstract class mysql{ public $host;//主机地址 public $user;//用户名 public $passwd; public $dbname; public $charset; function __construct($h,$u,$p,$d,$c){$this->host=$h;$this->user=$u;$this->passwd=$p;$this->dbname=$d;$this->charset=$c;$this->conn(); } function conn(){ @mysql_connect($this->host,$this->user,$this->passwd) or die ("mysql毗连掉败"); @mysql_select_db($this->dbname) or die("数据库毗连掉败"); $this->q("set names '".$this->charset."'"); } function q($n){return mysql_query($n); } function id(){return mysql_insert_id(); } function f($n,$st=1){switch($st){case 1 :$rs=mysql_fetch_array($n);break;case 2 :$rs=mysql_fetch_row($n);break; } return $rs;} //======================== /** *申明:into拔出数据库的办法 *参数:$tb表名,$val暗示拔出值,$st调试体例,1调试0不调试 *前往:int */ abstract function into($tb,$val,$st=0); /** *申明:sel_once查询 *参数: $tb表名, $wh前提默许1, $ar制订的字段, $ty查询类型,默许下标和键名, $st调试形态,默许为0,1调试0不调试 *前往:array [一维数组]*/ abstract function sel_once($tb,$wh=1,$ar="*",$ty=1,$st=0); /** *申明:sel_all查询 *参数: $tb表名, $wh前提默许1, $ar制订的字段, $ty查询类型,默许下标和键名, $st调试形态,默许为0,1调试0不调试 *前往:array [二维数组]*/ abstract function sel_all($tb,$wh=1,$ar="*",$ty=1,$st=0); /** *申明:update更新数据库的办法 *参数: $tb表名, $val更新内容 $wh前提, $st调试体例默许0,1调试0不调试 *前往:int */ abstract function update($tb,$val,$wh="1 limit 1",$st=0); /** *申明:del删除数据库的办法 *参数: $tb表名, $wh前提, $st调试体例默许0,1调试0不调试 *前往:int */ abstract function del($tb,$wh="1 limit 1",$st=0); } ?> 接口的进修例子: <?php interface in_a{ /** 申明:上岸办法login 参数:$user用户名,$passwd暗码 前往:bool [生成cookie] */ function login($user,$passwd);} interface in_b{ /** 申明:checkLogin反省上岸 参数:$n用户默许权限 1 可以指定分歧页面用户分歧权限 前往:bool */ function checkLogin($n=1);} interface in_c{ /** 申明:checkLoginTime反省上岸是不是超时 参数:$n是超不时间默许3600秒 前往:bool */ function checkLoginTime($n=3600);} //标题1请求:上岸页面请求利用in_a in_b接口//标题2请求:上岸后页面请求利用 in_b in_c接口 ?> 现在,也有了从事软件工程的想法,在经过了一个月的PHP培训学习之后,发现其实软件工程并没有想像中的那么难。 说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。 首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 基础有没有对学习php没有太大区别,关键是兴趣。 学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
页:
[1]
2