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;

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

In PHP8, match expressions are a new control structure that returns different results based on the value of the expression. 1) It is similar to a switch statement, but returns a value instead of an execution statement block. 2) The match expression is strictly compared (===), which improves security. 3) It avoids possible break omissions in switch statements and enhances the simplicity and readability of the code.
