php類
① 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中,怎麼導入自己寫的類,
如果你的類是寫在當前php文件內,就直接實例化
若你的類寫在其他的php文件里,就要先用include或require,將類文件引入
<?php
include("class.php");//將目標文件包含進來
$className = new Class();//將目標類實例化
$className->show(); //這樣訪問目標類裡面的方法。
?>
③ php 類名::方法
類::方法 ,是對類的靜態屬性和方法的直接引用,不需要實例化類而直接使用。
在訪問PHP類中的成員變數或方法時,如果被引用的變數或者方法被聲明成const(定義常量)或者static(聲明靜態),那麼就必須使用操作符::,反之如果被引用的變數或者方法沒有被聲明成const或者static,那麼就必須使用操作符->。
④ 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
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的『類』是什麼意思
跟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如何包含類
類沒有包含的說法。你還是對面向對象不理解。
先解釋第一個:包含是一個你的專有名詞,呵呵。這個不是包含,類的屬性可以是另一個類的實例。按照你的代碼提供個示範:
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類中的->
只要你明白一個箭頭的意思,自然就會明白兩個箭頭的意思,道理是一樣的。
$this->view表示當前對象的view屬性,如果view屬性有是一個對象,那麼$this->view->albums就表示當前對象的view屬性的albums屬性。
⑨ 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 類的寫法
部分同意樓上的,不知道2300380用的是什麼語言-_-!!!
PHP字元串鏈接用的是.
PHP可以用VAR聲明變數(僅在類中,相當於public,高版本的PHP,老版的只有用VAR聲明)
代碼過程基本就是一樓寫的,改進一下
class daxiang{
var $name="";
function zou($name)
{
$this->name=$name;
echo("大象"+$this->name+"在走路");
}
}
"this"是PHP中特有的一個特殊對象,你可以在PHP的類的程序中大量的看到,它指「自已」這個對象。