韩顺平 PHP视频教程 zend framework 第1讲 ——第4讲 札记心得
韩顺平 PHP视频教程 zend framework 第1讲 ——第4讲 笔记心得
韩顺平 PHP视频教程 zend framework第1讲 zend介绍 zend快速入门
Mvc 框架 –zend framework
一 zend framework的简介
1 php流行的MVC框架介绍
a zend framework
b thinkphp(国人开发)
c yii(外企用的比较多)
d cakephp
m model模型
v view 视图
c controller控制器
核心的设计思想:把数据的输入,数据的处理,数据的显示分开。
框架:有zend framework提供一个目录结构和规范,我们程序员只需要在规定的文件和位置写自己的代码就ok了。
优点:
a 程序更加规范
b 程序的开发效率提高了
c 程序的可读性增加
d 程序的可维护性增加了
不足:
配置比较复杂。
二 为什么有zend framework
三 zend framework的原理
四 zend framework版用户登录系统
五 zend framework的投票系统
六 zend framework购物车系统
Php发送电子邮件。
快速体验案例
目的是让大家开发zend framework项目的基本流程,配置如何处理。
配置成功后,可以看到欢迎界面即可。
开发步骤:
1 下载一个最新的zend framework
2 创建一zend framework工程
2.1 手工创建
2.2 Zf.bat创建
2.2.1 进入zf.bat所在目录
2.2.2 使用命令zf.bat create project 项目的全路径
2.2.3 zendstudio 创建
2.2.4 拷贝直接创建
2.2.5 引入库到项目中 library目录下库大库小不影响,因为php主要是编译
2.2.6 开始配置apache,让它支持apache框架
2.2.7 开启PDO和PDO相关的数据库引擎
Php.ini中开启extension=php_pdo_mysql.dll
如果是php5.2 应该直接启动extension=php_pdo.dll
Apache的配置文件httpd.conf配置文件,修改如下
LoadModule rewrite_module modules/mod_rewrite.so
修改AllowOverride None为
AllowOverride All
韩顺平 PHP视频教程 zend framework第2讲 zend快速入门
配置虚拟主机:
如果开发环境是自定义安装:
启动虚拟主机,httpd.conf配置文件,修改如下
# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"
Httpd-vhost.conf文件配置 配置我们自己的虚拟主机
#配置我们自己的虚拟主机
DocumentRoot "F:/xampp/htdocs/zendfrm/public"
ServerName harry.com
DirectoryIndex index.php http://harry.com/index.php
# This should be omitted in the production environment
SetEnv APPLICATION_ENV development
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
再hosts中添加dns目录
harry.com
韩顺平 PHP视频教程 zend framework第3讲 zend原理剖析 zend整合数据库
Uml时序图
Httpwatch 抓取http协议包的工具。
Bootstrap.php 对所有控制器的初始化工作
IndexController.php 对一个控制器做的初始化工作
日志记录启动文件:
F:\xampp\htdocs\zendfrm\public\index.php12-07-26 05:31:58
F:\xampp\htdocs\zendfrm\application\Bootstrap.php12-07-26 05:31:58
F:\xampp\htdocs\zendfrm\application\controllers\IndexController.php12-07-26 05:31:58init..
F:\xampp\htdocs\zendfrm\application\controllers\IndexController.php12-07-26 05:31:58index..
用户登录后,显示消息列表。
创建数据库
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50516
Source Host : localhost:3306
Source Database : testzf
Target Server Type : MYSQL
Target Server Version : 50516
File Encoding : 65001
Date: 2012-07-26 14:10:03
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `message`
-- ----------------------------
DROP TABLE IF EXISTS `message`;
CREATE TABLE `message` (
`message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sender` varchar(64) NOT NULL,
`getter` varchar(64) NOT NULL,
`sendtime` datetime NOT NULL,
`content` varchar(2000) NOT NULL,
PRIMARY KEY (`message_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of message
-- ----------------------------
INSERT INTO `message` VALUES ('1', '张三', '李海', '2012-07-19 14:01:33', '你好啊,还在吗?');
INSERT INTO `message` VALUES ('2', '李四', '张国荣', '2012-07-09 14:02:18', '风继续吹');
INSERT INTO `message` VALUES ('3', '回音哥', '郭德纲', '2012-07-26 14:02:39', '我的歌声里');
INSERT INTO `message` VALUES ('4', '李逍遥', '大s', '2012-07-26 14:03:25', '真漂亮');
INSERT INTO `message` VALUES ('5', '张柏芝', '谢霆锋', '2012-07-27 14:04:39', '原谅我吧');
INSERT INTO `message` VALUES ('6', '周立波', '周瑾', '2012-07-30 14:05:13', '你不和我搭档了吗?');
INSERT INTO `message` VALUES ('7', '李云龙', '刘少奇', '2012-07-17 14:07:08', '我是华野的');
INSERT INTO `message` VALUES ('8', '毛总东', '邓小平', '2012-07-25 14:07:40', '全心全意为人民服务');
INSERT INTO `message` VALUES ('9', '邓小平', '江泽民', '2012-07-25 14:08:10', '发展是硬道理');
Zend一般不和smarty融合一起操作。因为它自己有。
韩顺平 PHP视频教程 zend framework第4讲 zend原理深度剖析
总控index.php每次都经过这。即使输入harry.com/uu,只要保证前面的域名不变化,怎么访问资源都会到总控。
重写机制 .htaccess
RewriteEngine On 启用重写机制
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
. 除了\n的任意字符。
在php项目中,我们通过对url的重写,可以完成整个只有一个入口的项目
.htaccess
多入口
RewriteRule ^.*$\.php enter.php
RewriteRule ^.*$\.html enter.html
Index发送给apache rewrite机制记录下来 首先调用总控——boot——
约定俗成
如果有错误 ErrorController.php 该控制器来处理,它是处理机制。我们的控制器 区分大小写。
xxAction 的格式 xx不能大写
总控使用了一点反射机制。
步骤
1 先在controllers文件下添加
class testController extends Zend_Controller_Action{
public function init(){
}
public functionloginAction(){
//echo '用户登录';
$this->render("login");
}
}
优化代码:
Bootstrap.php 数据库初始化代码的优化。
抽象出来一个类
//做一个父类,专门供其它的Controller来继承
class BaseController extends Zend_Controller_Action{
public function init()
{
//初始化我们的数据库适配器
$url=constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';
$dbconfig=new Zend_Config_Ini($url,"mysql");
$db=Zend_Db::factory($dbconfig->db);
$db->query('SET NAMES UTF8');
Zend_Db_Table::setDefaultAdapter($db);
}
}

ホット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 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

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の特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

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

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

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