Maison développement back-end tutoriel php 分享一个自己写的php操作mysql数据库的类

分享一个自己写的php操作mysql数据库的类

Jul 25, 2016 am 08:48 AM

这是我自己写的一个类,欢迎大家讨论指导
部分使用方法:
//声明数据库对象
$Conn = new Mysql;
//加载数据库参数
$Conn->Parameter(数据库服务器, 数据库用户名, 数据库密码, 数据库名称, 数据库编码, 数据库表前缀[可为空]);

上面的代码就已经加载这个类文件进来了,并且初始化了一些数据库连接参数!
下面介绍几个基本是方法函数:
1、 $Conn -> Table();
选择数据表,参数是数据表名称
2、$Conn -> Field();
选择的字段名称,多个用逗号隔开,如不调用这个方法,则返回全部
3、$Conn -> Where();
Sql Where子语句,根据条件筛选
4、$Conn -> Order();
Sql 排序
5、$Conn -> Page(int);
参数是一个正整数数字,如调用这个方法,记录将分页显示
6、$Conn -> Select(布尔值);
执行查询,返回查询结果,如果有,则是一个二维数组,如果无,则返回假,参数可省略,如省略,默认为真,返回的数组包含数字元素
7、$Conn -> Del();
删除记录
8、 $Conn -> Edit(array());
修改记录,参数是一个一维数组,数组键是字段名称,数组值是字段值
9、$Conn -> Into(array());
添加记录,参数是一个一维数组,数组键是字段名称,数组值是字段值。

以上方法可连续调用,比如:

$Rult = $Conn -> Table('user') -> Select(); //查询返回user表的所有记录
$Rult = $Conn -> Table('user') -> Page(20) -> Select();//查询返回user表的所有记录,并分页显示,每页20条;

还有很多方法调用和诀窍,以后有空再慢慢细说!
  1. /*
  2. 数据库操作类
  3. 操作方式:面对对象
  4. 制作时间:2013-3-10
  5. 当前版本:BqhMysql(mysqli)1.0.1
  6. 软件作者:伤心的歌
  7. 联系QQ :36975
  8. 联系电话:18907975647
  9. 电子邮件:admin@q128.com
  10. 联系地址:江西省赣州市石城县小松镇
  11. 邮政编码:342706
  12. */
  13. class Mysql{
  14. private $LocalHost = 'localhost';
  15. private $LoaclUser = 'root';
  16. private $LocalPass = '123456';
  17. private $LocalBase = 'jiangxibaiyi';
  18. private $LocalCode = 'UTF8';
  19. private $PreFix;
  20. private $Conn;
  21. private $Start = 0;
  22. private $Error = false; //数据库连接状态, false表示未连接或连接不正常
  23. public $Err = true; //Sql执行结果
  24. private $Table;
  25. private $Field = '*';
  26. private $Where = '';
  27. private $Order = '';
  28. private $PageSize = 0; //分页显示->每页多少条,0为不分页显示
  29. private $PageCount = 1; //分页显示->总共有多少条
  30. private $PageNum = 1; //分页显示->总共有多少页
  31. private $PageNo = 1; //分页显示->当前第几页
  32. private $PageKey = 'page'; //分页url参数键
  33. private $PageStart = 0; //分页显示->当前从第几条开始返回
  34. private $Select;
  35. private $Rest;
  36. private $Result = false;//结果集
  37. public $FormArray = array();
  38. public $Instr_ID = 0;
  39. private $j = 0;
  40. public function Parameter($Loca, $Root, $Pass, $Base, $Code, $PreFix = ''){
  41. $this->LoaclUser = $Root;
  42. $this->LocalBase = $Base;
  43. $this->LocalCode = $Code;
  44. $this->LocalHost = $Loca;
  45. $this->LocalPass = $Pass;
  46. $this->PreFix = $PreFix;
  47. return $this;
  48. }
  49. private function Connection( $Sql ){
  50. !function_exists(mysqli_connect) ? die('查询失败,无法加载mysqli扩展') : null;
  51. $this->Conn = @new mysqli( $this->LocalHost, $this->LoaclUser, $this->LocalPass, $this->LocalBase);
  52. $this->Error = mysqli_connect_errno() == 0 ? true : false;
  53. !$this->Error ? die('数据库连接错误,请检查数据库连接参数') : null;
  54. $this->Conn->query('SET NAMES ' . $this->LocalCode);
  55. $this->Rest = $this->Conn->query($Sql);
  56. $this->Err = mysqli_error($this->Conn);
  57. $this->Instr_ID = mysqli_insert_id($this->Conn);
  58. $this->Rest->free_result;
  59. $this->Conn->close;
  60. $this -> FormArray = '';
  61. return $this;
  62. }
  63. public function null(){
  64. $this->PageSize = 0;
  65. //$this->PageCount = 1;
  66. $this->PageStart = 1;
  67. $this->Field = ' * ';
  68. $this->Select = '';
  69. unset($this->Table, $this->Where,$this->Order, $this->Result);
  70. }
  71. public function Table( $TableName ) {//数据表
  72. $this -> null();
  73. $this->Table = '`' . $this->PreFix . $TableName . '`';
  74. return $this;
  75. }
  76. public function Field( $Array = '*' ) {//数据字段
  77. !empty( $this->Field ) ? $this->Field = '' : null;
  78. $Array = explode(',', $Array);
  79. foreach ( $Array as $field ) {
  80. $this->Field .= !$this->Start ? '`' . $field . '`' : ', `' . $field . '`';
  81. $this->Start++;
  82. }
  83. $this->Start = 0;
  84. return $this;
  85. }
  86. public function Where( $Where ) {//条件
  87. $this->Where = ' where ' .$Where;
  88. return $this;
  89. }
  90. public function Order( $Order ) {//排序
  91. $this->Order = ' order by ' . $Order;
  92. return $this;
  93. }
  94. public function pk( $key ) {//分页url参数键
  95. $this->PageKey = $key;
  96. return $this;
  97. }
  98. public function Page( $PageSize ) {//分页
  99. $this->PageSize = $PageSize;
  100. $this->PageNo = $this->get( $this->PageKey );
  101. $this->PageNo = empty( $this->PageNo ) || !isset( $this->PageNo ) || !is_numeric( $this->PageNo ) || $this->PageNo PageNo;
  102. return $this;
  103. }
  104. public function post( $Key, $Filter = true ){
  105. return $Filter ? strip_tags($_POST[$Key]) : $_POST[$Key];
  106. }
  107. public function get( $Key, $Filter = true ){
  108. return $Filter ? strip_tags($_GET[$Key]) : $_GET[$Key];
  109. }
  110. public function Sel(){
  111. $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;
  112. $this->Connection( $this->Select );
  113. if ( $this->Rest->num_rows ) {
  114. while ( $Rs = $this->Rest->fetch_assoc() ) {
  115. $this->Result[] = $Rs;
  116. }
  117. }
  118. $DataBase = $this->Result;
  119. return empty($DataBase) ? false : $DataBase;
  120. }
  121. public function querys( $Sql = '', $Type = 'not', $biao = false ) {
  122. $this->Select = $Sql;
  123. $this->Connection( $this->Select );
  124. if ( $this->Rest->num_rows ) {
  125. if ( !$biao ) {
  126. while ( $Rs = $this->Rest->fetch_array() ) {
  127. $this->Result[] = !preg_match('/^\d+$/i', $Type) ? $Rs : $Rs[ $Type ];
  128. }
  129. } else {
  130. while ( $Rs = $this->Rest->fetch_assoc() ) {
  131. $this->Result[] = $Rs;
  132. }
  133. }
  134. }
  135. $DataBase = $this->Result;
  136. return empty($DataBase) ? false : $DataBase;
  137. }
  138. public function executes( $Sql = '' ){
  139. $this->Connection( $Sql );
  140. return $this->Rest;
  141. }
  142. public function exists( $T = '', $F = '', $W = ''){
  143. if ( empty( $F ) ) { return 0; }
  144. $cmd = empty( $W ) ? 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'`' : 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'` Where ' . $W;
  145. $this->Connection( $cmd );
  146. unset( $T, $F, $W, $cmd );
  147. $Rel = $this->Rest->fetch_array();
  148. return round( $Rel['baiyinum'], 2 );
  149. }
  150. public function ExistsTo( $Bili = 10000, $T = '', $F = '', $W = ''){
  151. if ( empty( $F ) ) { return 0; }
  152. $cmd = empty( $W ) ? 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'`' : 'Select sum(' . $F . ') as `baiyinum` from `' . $this->PreFix . $T .'` Where ' . $W;
  153. $this->Connection( $cmd );
  154. unset( $T, $F, $W, $cmd );
  155. $Rel = $this->Rest->fetch_array();
  156. return round( $Rel['baiyinum'] * $Bili );
  157. }
  158. public function Select( $Type = true, $ListNum = 1 ){ //返回记录(数组形式, 返回条数)
  159. $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;
  160. if ( is_numeric( $ListNum ) ) {
  161. if ( $this->PageSize > 0 ) {
  162. $this->Connection( $this->Select );//执行查询
  163. $this->PageCount = $this->Rest->num_rows;//取得记录总数
  164. $this->PageNum = ceil($this->PageCount / $this->PageSize); //总共有多少页
  165. $this->PageNo = $this->PageNo > $this->PageNum ? $this->PageNum : $this->PageNo;
  166. $this->PageStart = ( $this->PageNo - 1 ) * $this->PageSize; //当前从第几条开始返回
  167. $this->Select .= ' limit ' . $this->PageStart . ', ' .$this->PageSize; //重新构造sql语句
  168. } else {
  169. $this->Select .= ' limit ' . $ListNum; //重新构造sql语句
  170. }
  171. } else {
  172. $this->Select .= ' limit 1'; //重新构造sql语句
  173. }
  174. //echo $this->Select;
  175. $this->Connection( $this->Select );//再次执行查询
  176. if ( $this->Rest->num_rows ) {//如果记录存在
  177. if ( $Type ) {
  178. while ( $Rs = $this->Rest->fetch_array() ) {
  179. $this->Result[] = $Rs;
  180. }
  181. }else{
  182. while ( $Rs = $this->Rest->fetch_assoc() ) {
  183. $this->Result[] = $Rs;
  184. }
  185. }
  186. }
  187. if ( ( $ListNum == 1 or !is_numeric( $ListNum ) ) && !$this->PageSize) { $this->Result = $this->Result[0]; }
  188. $DataBase = $this->Result;
  189. return empty($DataBase) ? false : $DataBase;
  190. }
  191. public function Num() { //返回记录总数
  192. $this->Select = 'Select ' . $this->Field . ' from ' . $this->Table . $this->Where . $this->Order;
  193. $this->Connection( $this->Select );//执行查询
  194. return $this->Rest->num_rows;//取得记录总数
  195. }
  196. public function PageNav($NumNav = false ) { //分页
  197. $Action = $this -> get('action');
  198. !empty( $Action ) or $Action = 'index';
  199. $Module = $this -> get('module');
  200. !empty( $Module ) or $Module = 'index';
  201. $NavUrl = '/' . $Module . '/' . $Action . '/' . $this -> PageKey .'/';
  202. $NaIndex = '/' . $Module . '/' . $Action;
  203. $PageHtml = "\n
    ";
  204. $PageHtml .= '' . $this->PageCount . '条记录 ' . $this->PageNo . '/' . $this->PageNum . '页 ';
  205. $this->PageNo 首页\nPageNo - 1) . "\">上一页\n";
  206. if ( $NumNav ) { $PageHtml .= $this->NumPage($NavUrl); }
  207. $this->PageNo >= $this->PageNum or $PageHtml .= "PageNo + 1) . "\">下一页\nPageNum . "\">尾页\n";
  208. $PageHtml .= "
\n";
  • return $PageHtml;
  • }
  • private function NumPage( $Can = '' ) { //数字分页
  • $NumHtml = '';
  • $First = 1;
  • $Last = $this->PageNum;
  • if ( $this->PageNum > 5 ) {
  • if ( $this->PageNo PageNum ) {
  • $First = $this->PageNo - 2;
  • $Last = $this->PageNo + 2;
  • }else{
  • $First = $this->PageNo - 4;
  • $Last = $this->PageNum;
  • }
  • }
  • if ( $First if ( $Last > $this->PageNum ) { $First = $this->PageNum - 4; $Last = $this->PageNum;}
  • for( $i = $First; $i $NumHtml .= $this->PageNo != $i ? "\n\t" . '' . $i . '' . "\n\t" : "\n\t" .'' . $i . '' . "\n\t";
  • }
  • unset($Can, $First, $i, $Last);
  • return $NumHtml;
  • }
  • public function UserPage($NumNav = false, $PageName = 'index', $Mulu = 'user' ) { //会员中心分页
  • $NavUrl = '/' . $Mulu . '/' . $PageName . '/' . $this->PageKey . '/';
  • $PageHtml = "\n
    ";
  • $PageHtml .= '' . $this->PageCount . '条记录 ' . $this->PageNo . '/' . $this->PageNum . '页 ';
  • $this->PageNo 首页\nPageNo - 1) . "\">上一页\n";
  • if ( $NumNav ) { $PageHtml .= $this->NumPage($NavUrl); }
  • $this->PageNo >= $this->PageNum or $PageHtml .= "PageNo + 1) . "\">下一页\nPageNum . "\">尾页\n";
  • $PageHtml .= "
  • \n";
  • return $PageHtml;
  • }
  • //表单处理开始
  • //判断表单时候提交
  • public function FormIs( $Keys = 'mm' ) {
  • return $_POST[ $Keys ] == 1 ? true : false;
  • }
  • //post方式获取数据
  • public function _post( $Keys = '', $TiHuan = '') {
  • $Values = strip_tags( $_POST[ $Keys ] );
  • $this->FormArray[$Keys] = empty( $Values ) ? $TiHuan : $Values;
  • return empty( $Values ) ? $TiHuan : $Values;
  • }
  • //get方法获取数据
  • public function _get( $Keys = '', $TiHuan = '') {
  • $Values = strip_tags( $_GET[ $Keys ] );
  • return empty( $Values ) ? $TiHuan : $Values;
  • }
  • //判断是否为数字并且不小于0
  • public function IsNum( $Num = 0, $Mesg = '参数必须为数字' ) {
  • if ( is_numeric( $Num ) && !empty( $Num ) && $Num >= 0 ) {
  • return $Num;
  • }else{
  • die( $Mesg );
  • }
  • }
  • //判断是否为数字并且不小于0返回True/False
  • public function NumBer( $Num = 0) {
  • return is_numeric( $Num ) && !empty( $Num ) && $Num >= 0 ? true : false;
  • }
  • //检测相关数据似乎存在
  • public function IsData($Types = true, $memg = '数据已经存在' ){
  • $this->Connection('select ' . $this->Field . ' from ' . $this->Table . $this->Where);
  • if ( $Types ){
  • $this->Rest->num_rows > 0 ? die( $memg ) : null;
  • } else {
  • return $this->Rest->num_rows;
  • }
  • }
  • //写入数据库记录
  • public function into( $Mesg = '' ){
  • !is_array( $this->FormArray ) ? die( $Mesg ) : null;
  • $Sql = 'insert into ' . $this->Table . ' (`';
  • $I = 0;
  • foreach ( $this->FormArray as $Key => $Val ){
  • $Duan .= !$I ? $Key . '`' : ', `' . $Key . '`';
  • if ( is_numeric( $Val ) ){
  • $Vals .= !$I ? $Val : ', ' . $Val;
  • }else{
  • $Vals .= !$I ? '\'' . $Val . '\'' : ', \'' . $Val . '\'';
  • }
  • $I++;
  • }
  • $Sql .= $Duan . ') values (' . $Vals . ')';
  • //@file_put_contents('1.sql', $Sql, FILE_APPEND);
  • $this->Connection( $Sql );
  • return !empty( $this->Err ) ? false : true;
  • }
  • //数组形式写入数据
  • public function MsgBox( $Table = '', $Filed = array() ) {
  • $this -> Table($Table);
  • foreach( $Filed as $Key => $Val ) {
  • $this -> FormArray[ $Key ] = $Val;
  • }
  • return $this -> Into('未取得数据');
  • }
  • //修改数据库记录
  • public function Edit( $Array = array() ) {
  • if ( empty( $Array ) ) { $Array = $this -> FormArray; }
  • if ( !is_array( $Array ) || empty( $Array ) ) {
  • return false;
  • } else {
  • $Sql = 'update ' . $this -> Table . ' set ';
  • $I = 0;
  • $Sub = '';
  • $Huan = array('-' => '[jian]', '+' => '[jia]', '*' => '[cheng]', '/' => '[chu]');
  • $Zhan = array('[jian]' => '-', '[jia]' => '+', '[cheng]' => '*', '[chu]' => '/');
  • foreach ( $Array as $Files => $Val ) {
  • $Val = !is_numeric( $Val ) && !preg_match('/\`\w+\`\s*(\+|\-|\*|\/)/i', $Val) ? '\'' . $Val . '\'' : $Val;
  • foreach ( $Huan as $key => $val ){
  • $Val = str_replace($key, $val, $Val);
  • }
  • $duan = !$I ? '`' . $Files . '` = ' : ', `' . $Files . '` = ';
  • $Sub .= $duan . $Val;
  • $I++;
  • }
  • $Sql .= $Sub . $this -> Where;
  • foreach ( $Zhan as $Fan => $Hui ) {
  • $Sql = str_replace($Fan, $Hui, $Sql);
  • }
  • //echo $Sql; die;
  • $this -> Connection( $Sql );
  • unset( $Array, $duan, $Fan, $Files, $Huan, $Hui, $I, $key, $Sql, $Sub, $Val, $Zhan, $val );
  • return !empty( $this -> Err ) ? false : true;
  • }
  • }
  • //删除数据库记录
  • public function del(){
  • $Sql = 'delete from ' . $this->Table . $this->Where;
  • $this->Connection( $Sql );
  • unset($Sql);
  • return !empty( $this->Err ) ? false : true;
  • }
  • //表单处理结束
  • //页面跳转
  • public function Msg( $Text = '操作成功' ) {
  • echo '';
  • echo '';
  • exit;
  • }
  • #取得系统当前时间
  • public function Times(){
  • return str_replace('-', '[jian]', date('Y-m-d H:i:s'));
  • }
  • #取得用户IP地址
  • public function GetIP(){
  • if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
  • $ip = getenv("HTTP_CLIENT_IP");
  • else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
  • $ip = getenv("HTTP_X_FORWARDED_FOR");
  • else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
  • $ip = getenv("REMOTE_ADDR");
  • else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
  • $ip = $_SERVER['REMOTE_ADDR'];
  • else
  • $ip = "unknown";
  • return($ip);
  • }
  • //最后关闭数据库连接
  • public function Close(){
  • !is_object( $this -> Conn ) or mysqli_close( $this -> Conn );
  • }
  • }
  • 复制代码


    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

    JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

    Comment fonctionne le détournement de session et comment pouvez-vous l'atténuer en PHP? Comment fonctionne le détournement de session et comment pouvez-vous l'atténuer en PHP? Apr 06, 2025 am 12:02 AM

    Le détournement de la session peut être réalisé via les étapes suivantes: 1. Obtenez l'ID de session, 2. Utilisez l'ID de session, 3. Gardez la session active. Les méthodes pour empêcher le détournement de la session en PHP incluent: 1. Utilisez la fonction Session_RegeReate_id () pour régénérer l'ID de session, 2. Stocker les données de session via la base de données, 3. Assurez-vous que toutes les données de session sont transmises via HTTPS.

    Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Apr 03, 2025 am 12:04 AM

    L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

    Comment déboguer le mode CLI dans phpstorm? Comment déboguer le mode CLI dans phpstorm? Apr 01, 2025 pm 02:57 PM

    Comment déboguer le mode CLI dans phpstorm? Lors du développement avec PHPStorm, nous devons parfois déboguer PHP en mode interface de ligne de commande (CLI) ...

    Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Mar 31, 2025 pm 11:54 PM

    Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

    Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

    Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

    Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Apr 01, 2025 pm 03:12 PM

    Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...

    See all articles