php框架练习
框架的作用: 功能:操作数据库 模版引擎smarty 分析,应该具备什么功能? a:具体配置文件 ,配置文件的读取功能 b:数据库处理类 c:目录结构 先建一个includes文件放入,配置文件(config.php),配置类(conf.class.php),mysql数据库处理类(mysql.class.php),
框架的作用:
功能:操作数据库 模版引擎smarty
分析,应该具备什么功能?
a:具体配置文件 ,配置文件的读取功能
b:数据库处理类
c:目录结构
先建一个includes文件放入,配置文件(config.php),配置类(conf.class.php),mysql数据库处理类(mysql.class.php),网站初始化文件(init.php)
config.php 文件:
//网站的配置文件 $_cfg=array(); $_cfg['host']='localhost'; $_cfg['user']='root'; $_cfg['pwd']='root'; $_cfg['db']='xxzdb'; $_cfg['char']='utf8'; //$_cfg['']=''; //$_cfg['']='';
conf.class.php
//配置文件的读取类 //作用:读取config.php 并能返回某个配置选项的值 class Conf{ private static $ins = false; private $info = array(); final protected function __construct(){ require(ROOT .'includes/config.php'); $this->info = $_cfg; } //单例 public static function getIns(){ if(self::$ins === false){ self::$ins = new self(); } return self::$ins; } //读取配置文件的信息 public function __get($key){ if(array_key_exists($key,$this->info)){ return $this->info[$key]; } else { return null; } } public function __set($key,$value){ $this->info[$key] = $value; } //测试方法 public function printc(){ print_r($this->info); } } //调用 /* $conf = Conf::getIns(); $conf->template_dir='d:/www'; echo $conf->printc(); */
mysql.class.php
//require('conf.class.php'); //数据库的处理类 //抽象类 没有方法体 abstract class abs_db{ abstract protected function connect(); abstract protected function select_db($dbname=''); abstract protected function setChar(); abstract protected function query($sql); abstract protected function getAll($sql); abstract protected function getRow($sql); abstract protected function getOne($sql); abstract protected function error(); } class Mysql extends abs_db{ private static $ins = false; private $conn = false; private $conf = false; protected function __construct(){ $this->conf = Conf::getIns(); $this->connect(); $this->select_db(); $this->setChar(); } public static function getIns(){ if(self::$ins === false){ self::$ins= new self(); } return self::$ins; } //创建连接 protected function connect(){ $this->conn = mysql_connect($this->conf->host,$this->conf->user,$this->conf->pwd); if(!$this->conn){ $err = new Exception('连接失败'); throw $err; } } //选择数据库 protected function select_db($dbname=''){ if($dbname == ''){ $sql='use '.$this->conf->db; $this->query($sql); } } //设置字符集 protected function setChar(){ $sql='set names '.$this->conf->char; $this->query($sql); } //执行sql语句 public function query($sql){ return mysql_query($sql,$this->conn); } //取回所有行 public function getAll($sql){ $rs = $this->query($sql); $list=array(); while($row = mysql_fetch_assoc($rs)){ $list[] = $row; } return $list; } //取回一行 public function getRow($sql){ $rs = $this->query($sql); return mysql_fetch_assoc($rs); } public function getOne($sql){ } public function error(){ print_r(mysql_error($this->conn)); } //关闭资源 public function __destruct(){ } } /* $db = Mysql::getIns(); print_r($db); $sql="select * from art limit 5"; print_r($db->getAll($sql)); */
init.php
//网站的初始化文件 /** 魔术方法 __FILE__ 当前绝对路径 文件作用: 负责当前网站的根目录 引入所以页面都需要的文件 */ //ROOT 代表网站的跟路径 define('ROOT',str_replace('\\','/',str_replace('includes\init.php','',__FILE__))); require(ROOT .'includes/conf.class.php'); require(ROOT .'includes/mysql.class.php'); //echo ROOT;

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。
