Maison  >  Article  >  cadre php  >  Vous emmène apprendre le framework swoole en trois minutes

Vous emmène apprendre le framework swoole en trois minutes

coldplay.xixi
coldplay.xixiavant
2021-04-29 18:02:295036parcourir

Vous emmène apprendre le framework swoole en trois minutes

Avant-propos

Je découvre le swoole récemment, je vais donc écrire quelques réflexions. Il existe de nombreux frameworks open source basés sur swoole. Les avantages et les inconvénients peuvent être trouvés dans Baidu. Si des websockets et des files d'attente grand public sont utilisés, c'est un bon choix de choisir un framework basé sur swoole. Eh bien, sans plus tarder, Wu Daxian présentera une introduction simple à swoole

Recommandé (gratuit) : swoole

Texte

Le swoole comporte deux parties. L’une est une extension PHP, développée en C, qui constitue le noyau. L'autre est un framework, comme Yii, TP et Laravel, écrit en code PHP.

L'extension swoole elle-même fournit des fonctionnalités de serveur Web et peut remplacer php-fpm. Et si vous utilisez uniquement le framework swoole, il peut fonctionner sur des serveurs Web tels que nignx et apache comme les autres frameworks PHP.

Le framework swoole, tout comme le framework PHP, est adapté au développement web. L'extension swoole fournit un mécanisme de communication serveur de niveau inférieur, qui peut utiliser UDP, TCP et d'autres protocoles, pas seulement http.

La méthode d'installation est également différente. L'extension swoole est installée comme les autres extensions PHP. Vous pouvez utiliser pecl ou la compiler et l'installer. Le framework swoole peut être installé après avoir été introduit avec composer, ou vous pouvez inclure/exiger manuellement après avoir téléchargé le code source.

De plus, le framework swoole s'appuie sur l'extension swoole et est un exemple d'application de l'extension swoole.

Framework-Swoole extension-Swoole Document Center http://wiki.swoole.com/wiki/page/p-framework.html

L'extension Swoole est la fondation Basée sur l'extension swoole, vous pouvez développer plusieurs frameworks, pas seulement des frameworks Web.

Le framework utilise un mécanisme d'objet d'interface unique.

La première étape de l'appel du framework, require('config.php'); doit d'abord inclure config.php, puis l'objet $php sera généré. S'il se trouve dans Contrôleur, Modèle ou Vue, appelez-le via $this->swoole. S'il s'agit d'une fonction ou d'un autre programme inclus, il est référencé via $php global.

$php->db 数据库接口
$php->cache 缓存系统接口
$php->tpl Smarty模板引擎接口
$php->model 调用Model对象接口
$php->mvc MVC结构数据
$php->plugin 插件系统接口
<?php 
/* 
导入config.php文件,这是调用框架必须的第一步 
config.php会载入基本配置选项,和基本函数,并生成全局接口变量$php 
在代码的任何位置处,都可以通过global $php来引用全局接口对象 
*/
require(&#39;config.php&#39;); 
$res = $php->db->query('select * from test_table'); //执行SQL语句,得到一个查询的结果,查询结果,可以获取数据 
$res->fetch(); //获取单条数据。是字段-值,组成的关联数组。 
$res->fetchall(); //获取全部 
$data = array(); 
$data['title'] = 'hello wolrd!'; 
$data['author'] = 'me'; 
$php->db->insert($data,'test_table'); //将关联数组按照键值对应转为字段-值对应,插入到数据库表test_table中。 
//insert into test_table(title,author) values('hello wolrd!','me') 
/* 
$php->db->delete() 删除数据 
$php->db->update() 更新数据 
具体请参考Database类 
*/
/* 
模板操作,内置smarty模板引擎 
*/
$php->tpl->assign('title','hello world!'); 
$php->tpl->display('index.html'); 
?>

Spécification du répertoire :

Supposons que le répertoire racine soit $ROOT.

$ROOT/apps

$ROOT/apps : Code d'application, le code de ce répertoire est public, y compris les classes, les configurations, les modèles, les contrôleurs, les modèles, etc. Les fichiers statiques tels que js, css, jpg, html, etc. ne doivent pas être placés dans ce répertoire. Ils doivent tous être des fichiers .php. Ce répertoire ne permet pas un accès HTTP direct.

Ø $ROOT/apps/controllers Code de classe du contrôleur d'application Web

Ø $ROOT/apps/models Code de classe d'encapsulation du modèle de données

Ø $ROOT/apps/configs configuration fichier, accès via $php->config['db']['master']

Ø Bibliothèque de classes ROOT/apps/classes, où sont stockées toutes les classes définies par l'utilisateur, qui doivent être conformes au psr - 0, le nom du fichier doit être {class name}.php et l'espace de noms de niveau supérieur doit être App

Ø $ROOT/apps/templates template file directory

² Espace de noms : tel que la nouvelle classe AppHelloTest, sera mappé à $ROOT/apps/classes/Hello/Test.php

² Fichier de configuration : tel que $php->config['db'] ['master'] Ou Swoole::getInstance()->config['db']['master'] sera mappé au fichier $ROOT/apps/configs/db.php. Un tableau doit être renvoyé dans db. .php, et la clé est master.

² Modèle de données : model('UserInfo') ou $php->model->UserInfo sera mappé à $ROOT/apps/models/UserInfo.php

$ROOT/ static

Répertoire de fichiers statiques, tels que js, css, jpg, html, etc.

$ROOT/index.php

Le fichier d'entrée unique du site Web peut être placé directement dans le répertoire racine, ou un répertoire séparé peut être créé pour le stockage, tel que $ROOT/ webroot/index.php

$ROOT/server.php

Entrée de démarrage du programme serveur.

Contrôleur

En utilisant la gestion MVC de swoole, la classe du contrôleur doit être conforme aux spécifications suivantes

² Le code est placé dans le répertoire appscontrollers

² La première lettre du nom de la classe doit être en majuscule

² Elle doit hériter de SwooleController

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer