⑴ php如何包含类
类没有包含的说法。你还是对面向对象不理解。
先解释第一个:包含是一个你的专有名词,呵呵。这个不是包含,类的属性可以是另一个类的实例。按照你的代码提供个示范:
class DB {
}
class User {
protected $_db = false;
public function __contruct() {
$this->_db = new DB();
}
public function login($user, $pass) {
$sql = 'select * from `user` where username='{$user}' and password = '{$pass}'
$row = $this->_db->query($sql)->fetch();
if (empty($row)) return false;
return $row;
}
}
对于面向对象编程,这是一个思想境界,每个人对此都有自己的心得,我的解释就是“言出法随”。你想怎么就怎样。不是非要用class才叫对象,这是个思想,class也不过就是这个思想下的一种实例。顿悟去吧。
⑵ php类怎么写
<?php
class ClassName {
public $name = 'ClassName'
protected $_version = Ƈ.0'
private $_author = 'incNick'
public function a(){}
protected function _b() {}
private function _c() {}
}
class Children extends ClassName {
}
var是php4中的用法,相当于public,php4中不支持protected等
public关键字:公共访问的属性、方法
protected关键字:类及子类内公共访问的属性、方法
private关键字:当前类内私有的属性、方法
final关键字:最终的,子类中不允许覆盖。如果是finalclass,该类不可被继承。
static关键字:静态属性、方法,如publicstatic$abc
const关键字:常量属性,如constABC='test'
更多个解释看手册吧亲,实在太多了
⑶ PHP中类的使用于作用
类就是很多方法的集合
这些方法是你在程序中经常会用到的一些逻辑或算法
将他们包进类里面,可以提升程序的效率,减少代码的重复
比如你有一个类文件 web_common.class.php ,里面有一个类,名为 common
那么当你的程序需要用到此类里的方法时,首先要做的是将类文件包进来
require_once 'web_common.class.php';
然后呢,为你的类创建一个对象,也就是把类实例化。(未实例化的类是无法使用的,有兴趣可以试一下)
$object = new common;
接下来,在你需要调用类中方法的位置调用方法,如:
$object->my_function();
是不是很简单呢?还要说明一点的是,类中静态方法调用是和以上调用形式是不同的,调用方式如下:
$object::staticfunction();
关于子类继承父类的问题,有两种可能
第一,父类的方法不够用或程序中需要父类的多种方法集合
第二,父类为抽象类,那么想使用此类的方法必须由子类来继承才能使用
继承方法如下:
class son_class extands father_class {
}
需要说明的是,一个父类可以有多个子类,但一个子类却只能继承一个父类
调用的时候,父类为普通类时,对象可以是父类也可以是子类;父类为抽象类时,对象只能为子类
⑷ php的‘类’是什么意思
跟java里面差不多吧
<?php
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;
}
}
}
?>
上面的例子定义了一个 Cart 类,这个类由购物车中的商品构成的数组和两个用于从购物车中添加和删除商品的函数组成。
如果你对类的基本概念不清楚的话,上网查查资料
⑸ php 类的写法
部分同意楼上的,不知道2300380用的是什么语言-_-!!!
PHP字符串链接用的是.
PHP可以用VAR声明变量(仅在类中,相当于public,高版本的PHP,老版的只有用VAR声明)
代码过程基本就是一楼写的,改进一下
class daxiang{
var $name="";
function zou($name)
{
$this->name=$name;
echo("大象"+$this->name+"在走路");
}
}
"this"是PHP中特有的一个特殊对象,你可以在PHP的类的程序中大量的看到,它指“自已”这个对象。
⑹ php类的引用
如果用的是laravel(其他的framework可以参考类似操作):
一般有一个routes.php用于定义URI路径,比如:
Route::get('/cs.php/T/{admin}',"MyController@testFunc");
这样就把你说的URI定向到MyController.php文件的testFunc函数。请这样定义testFunc:
<?php
//MyController.php
namespaceAppHttpControllers;
{
publicfunctiontestFunc($admin,Request$request)
{
//这里你就直接可以使用$admin的值了。
}
}
⑺ php中,怎么导入自己写的类,
如果你的类是写在当前php文件内,就直接实例化
若你的类写在其他的php文件里,就要先用include或require,将类文件引入
<?php
include("class.php");//将目标文件包含进来
$className = new Class();//将目标类实例化
$className->show(); //这样访问目标类里面的方法。
?>
⑻ PHP类的构造方法
构造方法是类中的一个特殊方法。当使用 new 操作符创建一个类的实例时,构造方法将会自动调用,其名称必须是 __construct() 。所以通常用它执行一些有用的初始化任务。该方法无返回值。
如果子类中定义了构造函数则不会暗中调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。
与构造方法对应的就是析构方法,析构方法会在某个对象的所有引用都被删除或者当对象被显式销毁之前执行的一些操作或者功能。析构函数不能带有任何参数,其名称必须是 __destruct() 。
同样,如果子类中定义了析构函数则不会暗中调用其父类的析构函数。要执行父类的析构函数,需要在子类的析构函数中调用 parent::__destruct()。
注意:在析构函数中抛出一个异常会导致致命错误。
<?php
class Construct{
protected $a;
protected $b;
function __construct($a,$b){ //定义构造函数
$this->a=$a;
$this->b=$b;
}
function __destruct(){ //重新定义为初始值
$result=0;
echo '恢复乘积的初始值:'.$result;
}
}
class son extends construct{
private $c;
function __construct($c){
parent::__construct(6,10); //调用父类的构造方法,使用方法:parent::__construct(); 有参数加参数
$this->c=$c;
}
function show(){
$result=$this->a*$this->b*$this->c;
print 'abc的乘积是:'.$result.' ';
}
function __destruct(){
parent::__destruct(); //调用父类的析构函数,使用方式:parent::__destruct();
}
}
$test=new son(12); //实例化对象
$test->show(); //abc的乘积是:720 恢复乘积的初始值:0
?>
⑼ php类中的->
只要你明白一个箭头的意思,自然就会明白两个箭头的意思,道理是一样的。
$this->view表示当前对象的view属性,如果view属性有是一个对象,那么$this->view->albums就表示当前对象的view属性的albums属性。
⑽ php 类名::方法
类::方法 ,是对类的静态属性和方法的直接引用,不需要实例化类而直接使用。
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。