Table des matières
高性能PHP框架Symfony2经典入门教程,symfony2入门教程
小弟跪问:对于php初学者来说应该学哪个php框架与哪个cms比较好?
有关入门php框架的的事情
Maison développement back-end tutoriel php 高性能PHP框架Symfony2经典入门教程,symfony2入门教程_PHP教程

高性能PHP框架Symfony2经典入门教程,symfony2入门教程_PHP教程

Jul 13, 2016 am 10:23 AM
php框架 入门

高性能PHP框架Symfony2经典入门教程,symfony2入门教程

Symfony2是一个基于PHP语言的Web开发框架,有着开发速度快、性能高等特点。本文以一个程序示例的实现过程详细叙述了Symfony2框架的配置与程序开发。

一、下载

首先是下载Symfony2,到 http://symfony.com/download或者本站下载http://www.bkjia.com/codes/187833.html。本人以Ubuntu系统为例,采用.tgz的压缩包,解压源文件到/var/www目录中并执行:

tar zxvf Symfony_Standard_Vendors_2.0.###.tgz -C /var/www

Copier après la connexion

上面的###是指版本号,我下的时候是BETA5。

当解压之后,Symfony2的目录如下:

/var/www/ <- Web根目录 
 Symfony/ <- Symfony2解压目录 
  app/ <- 存放symfony的核心文件的目录
   cache/ <- 存放缓存文件的目录
   config/ <- 存放应用程序全局配置的目录
   logs/ <- 存放日志的目录
  src/ <- 应用程序源代码
   ... 
  vendor/ <- 供应商或第三方的模组和插件
   ... 
  web/ <- Web入口
   app.php <- 生产环境下的前端控制器
   ... 

Copier après la connexion

如果你需要安装(如果你下载的是without vendor版本)或更新vendor(第三方)内容时,可以使用:

cd /var/www/Symfony
php bin/vendors install

Copier après la connexion

二、配置

Symfony2的配置很简单,只需要在浏览器中输入:

http://localhost/Symfony/web/config.php

Copier après la connexion

然后按照提示来进行就可以了。其中值得注意的就是app/cache和app/logs目录的权限问题,由于我是在Ubuntu下安装的,所以可以使用(其中firehare是我的用户名,大家在这里可以用你的用户名代替):

#为了保险起见 
rm -rf app/cache/* 
rm -rf app/logs/* 
#设置ACL 
sudo setfacl -R -m u:www-data:rwx -m u:firehare:rwx app/cache app/logs 
sudo setfacl -dR -m u:www-data:rwx -m u:firehare:rwx app/cache app/logs 

Copier après la connexion

如果系统不支持setfacl命令的话,要检查2个地方:
  setfacl是否已经安装,如果没有的话,可以通过以下命令安装(在Ubuntu 11.10中好象已经缺省安装了,包为叫acl):

sudo apt-get install setfacl 
Copier après la connexion

  如果setfacl已经安装,那么请查看/etc/fstab文件,看看是否添加了acl选项:

# /var was on /dev/sda7 during installation 
UUID=c2cc4104-b421-479a-b21a-1108f8895110 /var ext4 defaults,acl 0 2 

Copier après la connexion

  然后根据页面提示填写数据库名等信息,再将这些信息拷到/var/www/Symfony/app/config/parameters.ini文件中,如下所示:

; These parameters can be imported into other config files 
; by enclosing the key with % (like %database_user%) 
; Comments start with ';', as in php.ini 
[parameters] 
 database_driver="pdo_mysql" 
 database_host="localhost" 
 database_name="symfony" 
 database_user="symfony" 
 database_password="symfony" 
 mailer_transport="smtp" 
 mailer_host="localhost" 
 mailer_user="" 
 mailer_password="" 
 locale="zh_CN" 
 secret="29f96e9e70c2797cb77dd088d3954d3c38d9b33f" 
Copier après la connexion

  
如果全部OK的话,在你浏览器中输入下列地址时,你将得到一个Demo页:

http://localhost/Symfony/web/app_dev.php

Copier après la connexion

三、程序示例:

1.创建Bundle

  首先创建一个Bundle:

php app/console gen:bundle "AcmeHelloBundle" src
  为了确保Acme名称空间可以被自动加载,请在你的app/autoload.php文件添加下列语句:
$loader->registerNamespaces(array( 
 // ...
 //添加自定义的名称空间 
 'Acme' => __DIR__.'/../src', 
 // ... 
)); 
  最后是将该Bundle注册到Symfony2中,请在你的app/AppKernel.php文件中添加下列语句:
// app/AppKernel.php 
public function registerBundles() 
{ 
 $bundles = array( 
  // ... 
  new AcmeHelloBundleAcmeHelloBundle(), 
 ); 
 
 // ... 
 
 return $bundles; 
} 
Copier après la connexion

2.创建路由

  路由可以创建在app/config/routing.yml中,但为了有个好的编程习惯和代码组织,可以将它放在所建Bundle目录中的Resources/config/routing.yml中,而在app/config/routing.yml中只保留到该路由文件的引用,如下所示:

# app/config/routing.yml 
homepage: 
 pattern: / 
 defaults: { _controller: FrameworkBundle:Default:index } 
hello: 
 resource: "@AcmeHelloBundle/Resources/config/routing.yml"

Copier après la connexion

而真正的路由则写在src/Acme/HelloBundle/Resources/config/routing.yml路由文件中,如下所示:

# src/Acme/HelloBundle/Resources/config/routing.yml 
hello: 
 pattern: /hello/{name} 
 defaults: { _controller: AcmeHelloBundle:Hello:index, name:'pu' }

Copier après la connexion

3.创建控制器:

  控制器的名字一定得是HelloController.php,原因很简单,因为你路由已经把控制器的名字给定下来了,在上面路由文件中的第4行和第7行中的控制器都是以AcmeHelloBundle:Hello开头的,其中AcmeHelloBundle表示Bundle名,而Hello则表示控制器名,所以控制器必须是HelloController.php,Controller名缀是命名约定。而至于后面的index和say则是控制器类中的方法。下面就定义了index方法,当然方法名为indexAction这个也是命名约定:

// src/Acme/HelloBundle/Controller/HelloController.php 
namespace AcmeHelloBundleController; 
use SymfonyComponentHttpFoundationResponse; 
class HelloController 
{ 
 public function indexAction($name) 
 { 
  return new Response('<html><body>Hello '.$name.'!</body></html>'); 
 } 
} 
Copier après la connexion

这样,当我们在浏览器中输入

http://localhost/hello/index/World

Copier après la connexion

就会显示Hello World!这样的字样。

4.创建模板:

  为了能够重用布局文件中的区块,可以使用模板来代替控制器中的HTML语句。首先创建页面布局文件:

{# app/Resources/views/layout.html.twig #} 
<!DOCTYPE html> 
<html> 
 <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <title>{% block title %}Hello Application{% endblock %}</title> 
 </head> 
 <body> 
  {% block body %}{% endblock %} 
 </body> 
</html> 

Copier après la connexion

  注意,该文件位于app/Resources/views/目录中,作用范围是整个应用程序的全局模板文件。在该文件中定义了两个区块:title和body。接下来就是创建一个专用于Hello控制器的模板,如下所示:

{# src/Acme/HelloBundle/Resources/views/Hello/index.html.twig #} 
{% extends '::layout.html.twig' %} 
{% block body %} 
 Hello {{ name }}! 
{% endblock %} 

Copier après la connexion

  在该文件中,它继承了全局模板,并且定义了区块body,这样就覆写了全局模板中的body区块。如果系统在渲染到该模板时,会将区块body覆写全局模板的区块body,再进行渲染。
  最后,将控制器中的HTML语句改成渲染上述模板即可:

// src/Acme/HelloBundle/Controller/HelloController.php 
namespace AcmeHelloBundleController; 
use SymfonyBundleFrameworkBundleControllerController; 
class HelloController extends Controller 
{ 
 public function indexAction($name) 
 { 
  return $this->render('AcmeHelloBundle:Hello:index.html.twig', array('name' => $name)); 
 } 
}
Copier après la connexion

小弟跪问:对于php初学者来说应该学哪个php框架与哪个cms比较好?

现在主流使用织梦 和帝国CMS
我个人比较倾向帝国CMS

php框架 初学者建议你使用集成环境一键安装 PHPNOW或者APMServ
自己电脑没必要搞的太复杂
 

有关入门php框架的的事情

既然是大项目,建议不用框架,要是用可以考虑zendframework,thinkphp,同时说明一下smarty不属于框架,建议用smarty作为你开发的模板处理机制
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/840749.htmlTechArticle高性能PHP框架Symfony2经典入门教程,symfony2入门教程 Symfony2是一个基于PHP语言的Web开发框架,有着开发速度快、性能高等特点。本文以一个程...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Générez du PPT en un seul clic ! Kimi : Que les « travailleurs migrants PPT » deviennent d'abord populaires Générez du PPT en un seul clic ! Kimi : Que les « travailleurs migrants PPT » deviennent d'abord populaires Aug 01, 2024 pm 03:28 PM

Kimi : En une seule phrase, un PPT est prêt en seulement dix secondes. PPT est tellement ennuyeux ! Pour tenir une réunion, vous devez avoir un PPT ; pour rédiger un rapport hebdomadaire, vous devez avoir un PPT ; pour solliciter des investissements, vous devez présenter un PPT ; même pour accuser quelqu'un de tricherie, vous devez envoyer un PPT ; L'université ressemble plus à une spécialisation PPT. Vous regardez le PPT en classe et faites le PPT après les cours. Peut-être que lorsque Dennis Austin a inventé le PPT il y a 37 ans, il ne s'attendait pas à ce qu'un jour le PPT devienne aussi répandu. Parler de notre dure expérience de création de PPT nous fait monter les larmes aux yeux. "Il m'a fallu trois mois pour réaliser un PPT de plus de 20 pages, et je l'ai révisé des dizaines de fois. J'avais envie de vomir quand j'ai vu le PPT." "À mon apogée, je faisais cinq PPT par jour, et même ma respiration." était PPT." Si vous avez une réunion impromptue, vous devriez le faire

Tous les prix CVPR 2024 annoncés ! Près de 10 000 personnes ont assisté à la conférence hors ligne et un chercheur chinois de Google a remporté le prix du meilleur article. Tous les prix CVPR 2024 annoncés ! Près de 10 000 personnes ont assisté à la conférence hors ligne et un chercheur chinois de Google a remporté le prix du meilleur article. Jun 20, 2024 pm 05:43 PM

Tôt le matin du 20 juin, heure de Pékin, CVPR2024, la plus grande conférence internationale sur la vision par ordinateur qui s'est tenue à Seattle, a officiellement annoncé le meilleur article et d'autres récompenses. Cette année, un total de 10 articles ont remporté des prix, dont 2 meilleurs articles et 2 meilleurs articles étudiants. De plus, il y a eu 2 nominations pour les meilleurs articles et 4 nominations pour les meilleurs articles étudiants. La conférence la plus importante dans le domaine de la vision par ordinateur (CV) est la CVPR, qui attire chaque année un grand nombre d'instituts de recherche et d'universités. Selon les statistiques, un total de 11 532 articles ont été soumis cette année, dont 2 719 ont été acceptés, avec un taux d'acceptation de 23,6 %. Selon l'analyse statistique des données CVPR2024 du Georgia Institute of Technology, du point de vue des sujets de recherche, le plus grand nombre d'articles est la synthèse et la génération d'images et de vidéos (Imageandvideosyn

Du bare metal au grand modèle avec 70 milliards de paramètres, voici un tutoriel et des scripts prêts à l'emploi Du bare metal au grand modèle avec 70 milliards de paramètres, voici un tutoriel et des scripts prêts à l'emploi Jul 24, 2024 pm 08:13 PM

Nous savons que le LLM est formé sur des clusters informatiques à grande échelle utilisant des données massives. Ce site a présenté de nombreuses méthodes et technologies utilisées pour aider et améliorer le processus de formation LLM. Aujourd'hui, ce que nous souhaitons partager est un article qui approfondit la technologie sous-jacente et présente comment transformer un ensemble de « bare metals » sans même un système d'exploitation en un cluster informatique pour la formation LLM. Cet article provient d'Imbue, une startup d'IA qui s'efforce d'atteindre une intelligence générale en comprenant comment les machines pensent. Bien sûr, transformer un tas de « bare metal » sans système d'exploitation en un cluster informatique pour la formation LLM n'est pas un processus facile, plein d'exploration et d'essais et d'erreurs, mais Imbue a finalement réussi à former un LLM avec 70 milliards de paramètres et dans. le processus s'accumule

L'IA utilisée | L'IA a créé un vlog sur la vie d'une fille vivant seule, qui a reçu des dizaines de milliers de likes en 3 jours L'IA utilisée | L'IA a créé un vlog sur la vie d'une fille vivant seule, qui a reçu des dizaines de milliers de likes en 3 jours Aug 07, 2024 pm 10:53 PM

Rédacteur du Machine Power Report : Yang Wen La vague d’intelligence artificielle représentée par les grands modèles et l’AIGC a discrètement changé notre façon de vivre et de travailler, mais la plupart des gens ne savent toujours pas comment l’utiliser. C'est pourquoi nous avons lancé la rubrique « AI in Use » pour présenter en détail comment utiliser l'IA à travers des cas d'utilisation de l'intelligence artificielle intuitifs, intéressants et concis et stimuler la réflexion de chacun. Nous invitons également les lecteurs à soumettre des cas d'utilisation innovants et pratiques. Lien vidéo : https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ Récemment, le vlog de la vie d'une fille vivant seule est devenu populaire sur Xiaohongshu. Une animation de style illustration, associée à quelques mots de guérison, peut être facilement récupérée en quelques jours seulement.

Compte à rebours des 12 points faibles de RAG, l'architecte senior de NVIDIA enseigne les solutions Compte à rebours des 12 points faibles de RAG, l'architecte senior de NVIDIA enseigne les solutions Jul 11, 2024 pm 01:53 PM

La génération augmentée par récupération (RAG) est une technique qui utilise la récupération pour améliorer les modèles de langage. Plus précisément, avant qu'un modèle de langage ne génère une réponse, il récupère les informations pertinentes à partir d'une vaste base de données de documents, puis utilise ces informations pour guider le processus de génération. Cette technologie peut considérablement améliorer l'exactitude et la pertinence du contenu, atténuer efficacement le problème des hallucinations, augmenter la vitesse de mise à jour des connaissances et améliorer la traçabilité de la génération de contenu. RAG est sans aucun doute l’un des domaines de recherche les plus passionnants en matière d’intelligence artificielle. Pour plus de détails sur RAG, veuillez vous référer à l'article de la rubrique de ce site "Quelles sont les nouveautés de RAG, spécialisée dans le rattrapage des défauts des grands modèles ?" Cette revue l'explique clairement. Mais RAG n'est pas parfait et les utilisateurs rencontrent souvent des « problèmes » lorsqu'ils l'utilisent. Récemment, la solution avancée d'IA générative de NVIDIA

Différences de performances des frameworks PHP dans différents environnements de développement Différences de performances des frameworks PHP dans différents environnements de développement Jun 05, 2024 pm 08:57 PM

Il existe des différences dans les performances des frameworks PHP dans différents environnements de développement. Les environnements de développement (tels que les serveurs Apache locaux) souffrent de performances de framework inférieures en raison de facteurs tels que les performances des serveurs locaux et les outils de débogage inférieurs. En revanche, un environnement de production (tel qu'un serveur de production entièrement fonctionnel) avec des serveurs plus puissants et des configurations optimisées permet au framework de fonctionner nettement mieux.

Comparaison des avantages et inconvénients des frameworks PHP : Lequel est le meilleur ? Comparaison des avantages et inconvénients des frameworks PHP : Lequel est le meilleur ? Jun 04, 2024 pm 03:36 PM

Le choix du framework PHP dépend des besoins du projet et des compétences du développeur : Laravel : riche en fonctionnalités et en communauté active, mais a une courbe d'apprentissage abrupte et des frais généraux élevés en termes de performances. CodeIgniter : léger et facile à étendre, mais a des fonctionnalités limitées et moins de documentation. Symfony : Communauté modulaire et forte, mais problèmes de performances complexes. ZendFramework : de niveau entreprise, stable et fiable, mais volumineux et coûteux en licence. Slim : micro-framework, rapide, mais avec des fonctionnalités limitées et une courbe d'apprentissage abrupte.

Kuaishou Keling AI est entièrement ouvert aux tests internes à l'échelle mondiale et l'effet du modèle a de nouveau été mis à niveau. Kuaishou Keling AI est entièrement ouvert aux tests internes à l'échelle mondiale et l'effet du modèle a de nouveau été mis à niveau. Jul 24, 2024 pm 08:34 PM

Le 24 juillet, Keling AI, grand modèle de génération vidéo Kuaishou, a annoncé que le modèle de base avait de nouveau été mis à niveau et était entièrement ouvert aux tests internes. Kuaishou a déclaré que afin de permettre à davantage d'utilisateurs d'utiliser Keling AI et de mieux répondre aux différents niveaux d'utilisation des créateurs, il lancera désormais également officiellement un système d'adhésion pour différentes catégories de créateurs, sur la base de tests internes entièrement ouverts. membres. Fournir des services fonctionnels exclusifs correspondants. Dans le même temps, le modèle de base de Keling AI a également été à nouveau mis à niveau pour améliorer encore l'expérience utilisateur. L'effet de modèle de base a été mis à niveau pour améliorer encore l'expérience utilisateur. Depuis sa sortie il y a plus d'un mois, Keling AI a été mis à niveau et itéré à plusieurs reprises. Avec le lancement de ce système d'adhésion, l'effet de modèle de base de Keling AI a été amélioré. à nouveau subi une transformation. La première est que la qualité de l'image a été considérablement améliorée et les effets visuels générés grâce au modèle de base amélioré.

See all articles