本文目錄一覽:
- 1、php 類怎麼寫
- 2、使用PHP寫一個類和一個控制器
- 3、php 如何寫類
- 4、php類怎麼寫?
- 5、php 類的寫法
- 6、如何在PHP中定義一個類
php 類怎麼寫
class save_reg{
private $usernc;
private $userpwd;
private $phone;
private $email;
public function __construct($username,$userpwd,$phone,$email)
{
$this-usernc=$username;
$this-userpwd=$userpwd;
$this-phone=$phone;
$this-email=$email;
}
public function savereg(){
$conn=mysql_connect(“localhost”,”root”,”123456″);
$sql=mysql_selectdb(“select”,$conn);
mysql_query(“set names gb2312”);
if ($_POST[button]==TRUE) {
if ($conn$sql)
{
if(!($_POST[usernc] and $_POST[pwd]))
{
echo “用戶名或密碼不能為空。單擊a href=’javascript:onclick=history.go(-1)’這裡/a返回”.”br”;
}
else {
echo “數據庫連接成功!”.”br”;
echo “數據庫選擇成功!”.”br”;
$relest=mysql_query(“select username from student where username='”.$this-usernc.”‘”,$conn);
if (mysql_fetch_array($relest))
{
echo “scriptalert(‘該用戶名已被佔用!’);history.back();/script”;
exit;
}
else
{
if (mysql_query(“insert into student (username,userpwd,phone,email ) values (‘”.$this-usernc.”‘,'”.$this-userpwd.”‘,'”.$this-phone.”‘,'”.$this-email.”‘)”,$conn))
{
mysql_free_result($relest);
mysql_close($conn);
echo “scriptalert(‘添加成功!’);history.back();/script”;
}
}
}}}
使用PHP寫一個類和一個控制器
?php
/**
*以下代碼用於數據庫操作類的封裝
*
* @author rexrex.sp.li@aliyun.com
* @version 1.0
* @since 2015
*/
class Mysql{
//數據庫連接返回值
private $conn;
/**
* [構造函數,返回值給$conn]
* @param [string] $hostname [主機名]
* @param [string] $username[用戶名]
* @param [string] $password[密碼]
* @param [string] $dbname[數據庫名]
* @param [string] $charset[字符集]
* @return [null]
*/
function __construct($hostname,$username,$password,$dbname,$charset=’utf8′){
$conn = @mysql_connect($hostname,$username,$password);
if(!$conn){
echo ‘連接失敗,請聯繫管理員’;
exit;
}
$this-conn = $conn;
$res = mysql_select_db($dbname);
if(!$res){
echo ‘連接失敗,請聯繫管理員’;
exit;
}
mysql_set_charset($charset);
}
function __destruct(){
mysql_close();
}
/**
* [getAll 獲取所有信息]
* @param [string] $sql [sql語句]
* @return [array] [返回二維數組]
*/
function getAll($sql){
$result = mysql_query($sql,$this-conn);
$data = array();
if($result mysql_num_rows($result)0){
while($row = mysql_fetch_assoc($result)){
$data[] = $row;
}
}
return $data;
}
/**
* [getOne 獲取單條數據]
* @param [string] $sql [sql語句]
* @return [array] [返回一維數組]
*/
function getOne($sql){
$result = mysql_query($sql,$this-conn);
$data = array();
if($result mysql_num_rows($result)0){
$data = mysql_fetch_assoc($result);
}
return $data;
}
/**
* [getOne 獲取單條數據]
* @param [string] $table [表名]
* @param [string] $data [由字段名當鍵,屬性當鍵值的一維數組]
* @return [type] [返回false或者插入數據的id]
*/
function insert($table,$data){
$str = ”;
$str .=”INSERT INTO `$table` “;
$str .=”(`”.implode(“`,`”,array_keys($data)).”`) “;
$str .=” VALUES “;
$str .= “(‘”.implode(“‘,'”,$data).”‘)”;
$res = mysql_query($str,$this-conn);
if($res mysql_affected_rows()0){
return mysql_insert_id();
}else{
return false;
}
}
/**
* [update 更新數據庫]
* @param [string] $table [表名]
* @param [array] $data [更新的數據,由字段名當鍵,屬性當鍵值的一維數組]
* @param [string] $where [條件,‘字段名’=‘字段屬性’]
* @return [type] [更新成功返回影響的行數,更新失敗返回false]
*/
function update($table,$data,$where){
$sql = ‘UPDATE ‘.$table.’ SET ‘;
foreach($data as $key = $value){
$sql .= “`{$key}`='{$value}’,”;
}
$sql = rtrim($sql,’,’);
$sql .= ” WHERE $where”;
$res = mysql_query($sql,$this-conn);
if($res mysql_affected_rows()){
return mysql_affected_rows();
}else{
return false;
}
}
/**
* [delete 刪除數據]
* @param [string] $table [表名]
* @param [string] $where [條件,‘字段名’=‘字段屬性’]
* @return [type] [成功返回影響的行數,失敗返回false]
*/
function del($table,$where){
$sql = “DELETE FROM `{$table}` WHERE {$where}”;
$res = mysql_query($sql,$this-conn);
if($res mysql_affected_rows()){
return mysql_affected_rows();
}else{
return false;
}
}
}
實例化類:
?php
//包含數據庫操作類文件
include ‘mysql.class.php’;
//設置傳入參數
$hostname=’localhost’;
$username=’root’;
$password=’123456′;
$dbname=’aisi’;
$charset = ‘utf8’;
//實例化對象
$db = new Mysql($hostname,$username,$password,$dbname);
//獲取一條數據
$sql = “SELECT count(as_article_id) as count FROM as_article where as_article_type_id=1”;
$count = $db-getOne($sql);
//獲取多條數據
$sql = “SELECT * FROM as_article where as_article_type_id=1 order by as_article_addtime desc limit $start,$limit”;
$service = $db-getAll($sql);
//插入數據
$arr = array(
‘as_article_title’=’數據庫操作類’,
‘as_article_author’=’rex’,
);
$res = $db-insert(‘as_article’,$arr);
//更新數據
$arr = array(
‘as_article_title’=’實例化對象’,
‘as_article_author’=’Lee’,
);
$where = “as_article_id=1”;
$res = $db-update(‘as_article’,$arr,$where);
//刪除數據
$where = “as_article_id=1”;
$res = $db-del(‘as_article’,$where);
?
getOne方法傳入$sql的sql語句用於查詢單條數據並返回一維數組;getAll方法同樣傳入sql語句,用於查詢多條數據,並返回二維數組;insert方法傳入表名和關聯數組,返回boolen型或者插入數據對應索引;update方法傳入表名、關聯數組和條件,返回boolen或者影響的行數;del方法傳入表名和條件,返回boolen型。
php 如何寫類
面相對象編程
class a{
類成員var $aaa
function b($abc){類方法
$this-aaa=$abc;
}
}
$c =new a();調用類
echo $c-b(“方法”);方法
php類怎麼寫?
?php
class ClassName {
public $name = ‘ClassName’;
protected $_version = ‘1.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關鍵字:最終的,子類中不允許覆蓋。如果是final class,該類不可被繼承。
static關鍵字:靜態屬性、方法,如public static $abc
const關鍵字:常量屬性,如const ABC = ‘test’
更多個解釋看手冊吧親,實在太多了
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中定義一個類
當你聲明一個類,你需要列出對象應有的所有變量和所有函數?被稱為屬性和方法圖1中顯示了一個類的構成. 注意在大括號({})內你只能聲明變量或者函數. 圖2中顯示了如何在一個類中定義三個屬性和兩個方法.
以下為引用的內容:
class Name extends Another Class
{
Access Variable Declaration
Access Function Declaration
}
name = $name;
$this-password = $password;
$this-lastLogin = time();
$this-accesses++;
}
// 獲取最後訪問的時間
function getLastLogin()
{
return(date(“M d Y”, $this-lastLogin));
}
}
//創建一個對象的實例
$user = new User(“Leon”, “sdf123”);
//獲取最後訪問的時間
print($user-getLastLogin() .”\n”);
//打印用戶名
print(“$user-name\n”);
?
當你聲明屬性,你不需要指明數據類型. 變量可能是整型,字符串或者是另一個對象,這取決於實際情況.在聲明屬性時增加註釋是一個好主意,標記上屬性的含義和數據類型.
當你聲明一個方法,你所做的和在類外部定義一個函數是一樣的. 方法和屬性都有各自的命名空間. 這意味着你可以安全地建立一個與類外部函數同名的方法,兩者不會衝突. 例如,一個類中可以定義一個名為date()的方法. 但是你不能將一個方法命名為PHP的關鍵字,如for或者while.
類方法可能包含PHP中所謂的type hint. Type hint 是另一個傳遞參數給方法的類的名字. 如果你的腳本調用方法並傳遞一個不是類的實例的變量,PHP將產生一個”致命(fatal)錯誤” . 你可能沒有給其它類型給出type hint,就像整型,字符串,或者布爾值. 在書寫的時候, type hint是否應當包含數組類型仍存在爭議.
Type hint是測試函數參數或者運算符的實例的數據類型的捷徑. 你可能總是返回這個方法. 確認你強制讓一個參數必須是哪種數據類型,如整型. 圖3 確保編譯類只產生Widget的實例
以下為引用的內容:
<?php
//組件
class Widget
{
public $name=’none’;
public $created=FALSE;
}
//裝配器
class Assembler
{
public function make(Widget $w)
{
print(“Making $w-name\n”);
$w-created=TRUE;
}
}
//建立一個組件對象
$thing = new Widget;
$thing-name = ‘Gadget’;
//裝配組件
Assembler::make($thing);
?>
除了傳遞參數的變量外,方法含有一個特殊的變量. 它代表類的個別實例. 你應當用這個來指向對象的屬性和其它方法.一些面向對象的語言假設一個不合格的變量提交給本地屬性,但在PHP中方法的任何變量只是在方法的一定範圍內. 注意在User類的構造函數中這個變量的使用圖2.
原創文章,作者:BEKG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147900.html