本文目錄一覽:
- 1、php5中魔術方法函數有哪幾個,請舉例說明各自的用法
- 2、誰給個php操作mysql類並有詳細使用說明或例子
- 3、thinkphp5框架擴展redis類方法示例
- 4、PHP調用.NET的WebService 簡單實例
- 5、PHP利用pdo_odbc實現連接資料庫示例【基於ThinkPHP5.1搭建的項目】
php5中魔術方法函數有哪幾個,請舉例說明各自的用法
__construct() :實例化對象時被調用;
__destuct():當刪除一個對象或者對象操作終止是被執行;
__call():調用對象不存在方法時被調用;
__get():調用對象不存在的屬性時被調用;
__set():設置對象不存在的屬性時被調用;_
_toString():列印一個對象時被調用,比如echo $obj,print($obj);
__clone():克隆對象時被調用,比如$t = new Test();$tt = clone $t;
__sleep():serialize之前被調用,若對象比較大,想做一些刪除在序列化,可以考慮使用該方法;
__wakeup():unserialize之前被調用,做些對象的初始化;
__isset():檢測對象是否存在屬性的時候被調用,如 isset($c-name);
__unset():unset一個對象屬性時被調用,如:unset($c-name);
__set_state():調用var_export時被調用,用__set_state的返回值作為 var_export的返回值;,
__autoload():實例化一個對象時,如果對應的類不存在,在該方法被調用。
希望你能採納,謝謝。
誰給個php操作mysql類並有詳細使用說明或例子
下面這個,是針對php5的一個簡單資料庫封裝類,適合學習,其他的如刪除、更新等操作,你可以自己加上:
?php
class Mysql{ //首先定義一個類,首寫字母大寫
public $host;//伺服器名,訪問修飾符PUBLIC證明$host是一個公共的屬情在類的內部外部都可訪問,可以被繼承
public $user;//用戶名,是公共的屬性
private $pass;//密碼,問修飾符private證明$pass是私有的.只能在類的內部使用且不能被繼承.
public $dbname;//資料庫名,也是公共的屬性.
//__construct聲名這是一個造函數,定義一些初始的信息.有三個參數
public function __construct($host,$user,$pass,$dbname){
$this-host = $host;
$this-user = $user;
$this-pass = $pass;
$this-dbname = $dbname;
$link = @mysql_connect($this-host,$this-user,$this-pass)
or die(“error”);
@mysql_select_db($this-dbname,$link)
or die(“error2”);
}
//定義資料庫的查尋和顯示函數
function myQuery($sql){
$result = mysql_query($sql);
if(!$result){
echo “error3”;
exit;
}
$num = mysql_num_rows($result);
if($num){
echo “NO”.$num;
}
while($row = mysql_fetch_assoc($result)){
echo ‘trtd bgcolor=”#fffddd”pre’.htmlspecialchars(stripslashes($row[‘body’])).”pre/td/tr”;
}
}
}
$rutt = new Mysql(‘localhost’,’root’,’ssss’,’calvin’);//實例化一個類…記住這裡的參數是和構造函數的參數一樣的…
$rutt-myQuery(‘select * from calvin_body’);//運行資料庫查尋並顯示的函數..
?
thinkphp5框架擴展redis類方法示例
本文實例講述了thinkphp5框架擴展redis類方法。分享給大家供大家參考,具體如下:
筆者在開發時發現,thinkphp5的自帶redis類方法,只有簡單的讀取緩存、寫入緩存的基本方法,遠不能滿足我們業務的需求。redis本身支持五種數據類型,string(字元串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。redis的東西就不必再介紹了,接下來還是讓我一起擴展thinkphp5的redis方法吧!
首先我們先找到緩存驅動類里的,handler()方法,這個方法是返回Redis類的實例化對象的。
這就是實例化對象,包括了options配置項、handler資源句柄、tag標籤。實際上這裡的handler是new
Redis()的對象實例。只要在外部拿到handler資源句柄,則可以對redis的操作進行擴展了。
在cache類里新增一個getHandler方法。
然後我們就可以在控制器調用了
列印的就是這個redis對象了
這裡需要注意的是:
一個是調thinkphp5的redis的方法,就是這樣用。
一個是如果你要調用原生的redis方法
基本的用法都講完了。
接下來就愉快的開始擴展redis方法吧。
先找到這個類
這個類里並沒有list的相關操作方法,那我們就來擴展list的相關方法。
這裡的話,我就舉一個例子了。
在控制器里去調用
這樣就寫入成功了。
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend
FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。
您可能感興趣的文章:針對thinkPHP5框架存儲過程bug重寫的存儲過程擴展類完整實例ThinkPHP行為擴展Behavior應用實例詳解ThinkPHP應用模式擴展詳解ThinkPHP框架設計及擴展詳解ThinkPHP的Widget擴展實例老生常談ThinkPHP中的行為擴展和插件(推薦)TP5(thinkPHP5)框架mongodb擴展安裝及特殊操作示例thinkPHP下的widget擴展用法實例分析thinkPHP3.2.2框架行為擴展及demo示例ThinkPHP5.0框架驗證碼功能實現方法【基於第三方擴展包】thinkphp5框架實現的自定義擴展類操作示例
PHP調用.NET的WebService 簡單實例
創建一個C#的web
service,這個就不多說了,我用vs2008的wizard創建了一個最簡單的,讓它運行在:
其中有個web
method像這樣的:
複製代碼
代碼如下:
[WebMethod]
public
string
HelloWorld()
{
return
“Hello
World”;
}
ok,一切就緒。在某php文件中如下寫法:
php5本身就支持SOAP調用Web
Service:
?php
//get
localization
strings
from
C#
webservice
$client
=
new
SoapClient(”);
echo
“Call
web
service
method
from
C#
WebService:\n”;
$result
=
$client-GetLocalizationResource();
if(!is_soap_fault($result))
{
echo
“return:\n”,
$result-GetLocalizationResourceResult;
}
else
{
echo
“soap
call
fault”;
}
?
這樣就OK了,會繼續介紹SOAP
以上所述就是本文的全部內容了,希望大家能夠喜歡。
請您花一點時間將文章分享給您的朋友或者留下評論。我們將會由衷感謝您的支持!
PHP利用pdo_odbc實現連接資料庫示例【基於ThinkPHP5.1搭建的項目】
本文實例講述了PHP利用pdo_odbc實現連接資料庫。分享給大家供大家參考,具體如下:
目的:從sql
server資料庫裡面把某個視圖文件調用出來,以鍵值對的方式顯示在頁面上。
利用pdo
odbc來實現PHP連接資料庫:
在PHP配置文件裡面開啟pdo_odbc.dll服務。重啟Apache伺服器。
在ThinkPHP5.1的項目中在模塊里添加config添加規定好的樣式資料庫:
代碼如下:
?php
return
[
//
資料庫類型
‘type’
=
‘sqlsrv’,
//
伺服器地址
‘hostname’
=
‘localhost’,
//
資料庫名
‘database’
=
‘mysql’,
//
用戶名
‘username’
=
‘sa’,
//
密碼
‘password’
=
‘123456’,
//
埠
‘hostport’
=
”,
//
連接dsn
‘dsn’
=
‘odbc:Driver={SQL
Server};Server=localhost;Database=mysql’,
//
資料庫連接參數
‘params’
=
[],
//
資料庫編碼默認採用utf8
‘charset’
=
‘utf8’,
//
資料庫表前綴
‘prefix’
=
”,
//
資料庫調試模式
‘debug’
=
true,
//
資料庫部署方式:0
集中式(單一伺服器),1
分散式(主從伺服器)
‘deploy’
=
0,
//
資料庫讀寫是否分離
主從式有效
‘rw_separate’
=
false,
//
讀寫分離後
主伺服器數量
‘master_num’
=
1,
//
指定從伺服器序號
‘slave_no’
=
”,
//
是否嚴格檢查欄位是否存在
‘fields_strict’
=
true,
//
數據集返回類型
‘resultset_type’
=
‘array’,
//
自動寫入時間戳欄位
‘auto_timestamp’
=
false,
//
時間欄位取出後的默認時間格式
‘datetime_format’
=
‘Y-m-d
H:i:s’,
//
是否需要進行SQL性能分析
‘sql_explain’
=
false,
//
Builder類
‘builder’
=
”,
//
Query類
‘query’
=
‘\\think\\db\\Query’,
//
是否需要斷線重連
‘break_reconnect’
=
false,
//
斷線標識字元串
‘break_match_str’
=
[],
];
?
在控制器controller裡面建一個控制文件Test.php
代碼如下:
?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view(‘View_2’)-select();
echo
json_encode($data);
}
}
?
最後調用入口文件即可訪問。
我的效果:
[{“111″:”123″,”1112″:”LLP”,”232″:”1″,”ROW_NUMBER”:”1″},{“111″:”123″,”1112″:”BB”,”232″:”2″,”ROW_NUMBER”:”2″}]
更多關於thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend
FrameWork框架入門教程》及《PHP模板技術總結》。
希望本文所述對大家基於ThinkPHP框架的PHP程序設計有所幫助。
您可能感興趣的文章:ThinkPHP實現多資料庫連接的解決方法tp5(thinkPHP5)框架實現多資料庫查詢的方法ThinkPHP3.1新特性之多資料庫操作更加完善tp5(thinkPHP5)框架連接資料庫的方法示例PHP7使用ODBC連接SQL
Server2008
R2資料庫示例【基於thinkPHP5.1框架】thinkPHP5實現的查詢資料庫並返回json數據實例tp5(thinkPHP5)操作mongoDB資料庫的方法tp5(thinkPHP5)框架資料庫Db增刪改查常見操作總結thinkPHP5框架實現多資料庫連接,跨數據連接查詢操作示例
原創文章,作者:KZV8R,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129525.html