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.
Recommandé (gratuit) : swoole
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('config.php'); $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'); ?>
Supposons que le répertoire racine soit $ROOT.
$ROOT /apps : Code d'application, le code de ce répertoire est public, y compris les classes, configurations, modèles, contrôleurs, Modèle, 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 l'accès direct http.
Ø $ROOT/apps/controllers Code de classe de contrôleur pour application Web
Ø $ROOT/apps/models Code de classe d'encapsulation du modèle de données
Ø $ROOT/apps / configs, accédez au fichier de configuration
Ø via $php->config['db']['master'] ROOT/apps La bibliothèque de classes /classes, où toutes les classes définies par l'utilisateur sont stockées, doit être conforme à la spécification psr-0, le nom du fichier doit être {nom de classe}.php et l'espace de noms de niveau supérieur doit être App
Ø $ROOT/apps/templates répertoire de fichiers de modèles
² Espace de noms : par exemple, la nouvelle classe AppHelloTest sera mappée à $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, db.php doit renvoyer un tableau, et la clé est maître.
² Modèle de données : model('UserInfo') ou $php- >model->UserInfo sera mappé à $ROOT/apps/models/UserInfo.php
Répertoire de fichiers statiques, tels que js, css, jpg, html, etc.
Le fichier à entrée unique du site Web peut être placé directement dans le répertoire racine , ou Créez un répertoire distinct pour le stockage, tel que $ROOT/webroot/index.php
Entrée de démarrage du programme serveur.
En utilisant la gestion MVC de swoole, la classe de 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
² 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!