《Symfony 5全面开发》教程02、安装运行环境并初始化Symfony项目
Symfony是PHP框架,在学习Symfony之前,我们需要安装PHP运行环境。如果你是MacOS系统,可以使用Homebrew来安装PHP运行环境。
Homebrew官网
https://brew.sh/
我们使用brew search来搜索PHP,最新的PHP是8.0版本。我这里已经安装过了,后面会打上对号。
如果你没有安装过的话,你可以使用brew install命令安装PHP,所有的过程都是自动化的。我这里已经安装过了,就不再安装了。
在安装完成之后, 我们可以使用 php --version 来查看PHP的版本号,来验证是否安装成功了。
另外我们还需要安装一些PHP的扩展。PHP是一种脚本语言,它并不能像其他动态语言一样可以直接下断点来逐步跟踪代码,我们需要使用xdebug插件来完成这些功能。 我们使用PECL工具来安装xdebug,首先我们更新一下PECL的所有通道,搜索xdebug,最新的版本是3.0.4。我这里已经安装过了,如果你没有安装的话,可以使用 pecl install 命令安装xdebug。 所有的过程都是自动化的,包括启用xdebug,xdebug的配置,我们到用到的时候会讲解。
Symfony有很多组件和第三方的包,我们使用composer管理这些组件和包。
Composer
https://getcomposer.org/
同样的我们使用Homebrew来安装composer,我这里已经安装过了composer。如果你没有安装的话,可以使用brew install composer来完成composer的安装。
因为composer需要从国外下载各个包的镜像,可能网络比较卡,我们需要将composer切换到国内镜像。搜索composer aliyun,使用阿里云的镜像。我们希望全局配置composer的镜像源,复制这段命令。
#composer全局配置阿里云镜像命令
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
再使用 composer config -g -l 来查看镜像源是否已经配置成功了。
另外我们还需要安装docker,docker提供了一种容器化的技术。我们使用docker来管理数据库或者一些其他服务,我们安装docker桌面版。 我这里已经安装过了,如果你没有安装的话,需要下载对应的版本,并且进行安装。
下面我们需要安装Git,Git可以对代码的版本进行管理,我们仍然使用Homebrew来对Git进行安装。 我这里已经安装过了,如果你没有安装的话,你可以直接使用brew install来直接安装Git。
下一步我们需要安装Symfony的命令行工具,回到Symfony官网,点击download。 我们是MacOS系统,直接复制这个命令行,命令行会自动下载并安装Symfony命令行工具。最后我们需要把命令行工具安装到系统的环境变量目录。我已经安装过了,这里就不再安装了。
#symfony cli安装命令行
curl -sS https://get.symfony.com/cli/installer | bash
我们可以查看Symfony命令行工具的版本号,来查看安装是否已经成功了,我这里已经安装成功了。 Symfony命令行工具,安装完成后,我们可以使用symfony check req来检查一下Symfony的运行环境是否已经安装完成了,它提示OK这就可以了。
下面我们使用Symfony命令行工具来创建我们的项目,回到官网,Symfony提供了new命令来创建项目。如果使用--full选项,它将创建一个web应用程序。 如果你想创建一个微服务或者命令行应用程序或者API,我们直接使用new命令就可以了。 两者的区别就是--full命令会安装所有与web开发相关的组件或者包。
我们为了学习Symfony的各个组件的安装及使用,我们直接使用symfony new命令,来创建一个最简化的Symfony项目。我们在当前用户目录创建项目,粘贴刚才代码,修改项目的名称, 我们将创建一个博客项目,博客项目就叫做teebblog。
Symfony命令行工具将使用composer工具来创建一个Symfony的骨架项目,完成之后,它会自动在我们的项目目录中初始化Git目录。这样我们的项目就已经安装完成了。
在下一节我们将使用Phpstorm来打开项目目录,并且讲解一下Symfony的目录结构。
本文转载于: https://www.teebb.com/content/symfony-init
《Symfony 5全面开发》教程02、安装运行环境并初始化Symfony项目的更多相关文章
- Apache Tomcat下载、安装、环境变量配置以及项目部署
前言 针对在本地访问文件或资源出现的跨域问题,可以通过搭建本地服务器来解决,本篇随笔主要介绍通过搭建Apache Tomcat服务器来解决跨域.包括Apache Tomcat的下载.安装.环境变量的配 ...
- MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(二)
你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的 ...
- MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(四)
MyEclipse超值折扣 限量 100 套! 立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形 ...
- MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(三)
MyEclipse超值折扣 限量 100 套! 立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形 ...
- MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(一)
你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的 ...
- MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(七)
[周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包 ...
- Android快乐贪吃蛇游戏实战项目开发教程-02虚拟方向键(一)自定义控件概述
该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.自定义控件简介 在本项目中,无论是游戏主区域还是虚拟方向键都是通过自定义控件 ...
- MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(六)
[周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包 ...
- MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(五)
MyEclipse超值折扣 限量 100 套! 立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形 ...
随机推荐
- 记一次org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only异常
@Transactional(rollbackFor = Exception.class) @Overridepublic DubboResult<Boolean> productAddO ...
- gorm声明模型
模型定义 模型是标准的结构体,由go的基本数据类型.实现了Scanner和Valuer接口的自定义类型及其指针或别名组成 例如: type User struct { ID uint Name str ...
- 笔记:Bridging the Gap Between Relevance Matching and Semantic Matching for Short Text Similarity Modeling
笔记:Bridging the Gap Between Relevance Matching and Semantic Matching for Short Text Similarity Model ...
- Windows下cmd/powershell命令混淆绕过
前言 在Windows下绕过杀毒软件的主动防御机制的常见思路. Bypass 1.特殊符号.大小写 常用符号: " ^ , ; 可以绕过一些常规的waf 2.环境变量 拿到一台机器时,可以先 ...
- Redis 源码简洁剖析 05 - ziplist 压缩列表
ziplist 是什么 Redis 哪些数据结构使用了 ziplist? ziplist 特点 优点 缺点 ziplist 数据结构 ziplist 节点 pre_entry_length encod ...
- ApacheCN - 关于我们
1.简单介绍一下 ApacheCN? ApacheCN 是 2016 年 8 月份就开始搭建网站雏形, 2017 年 6 月份正式全职来做,是国内第一个有组织性.敢带人装逼.敢真的分享.并且敢戴绿帽的 ...
- MySQL 事务的隔离级别及锁操作的一点点演示
MySQL 版本:5.7 安装环境:MAC OS 一.测试数据 测试数据库:test:测试表:tt CREATE TABLE `tt` ( `id` int(11) DEFAULT NULL, `na ...
- [NOI Online #1 提高组]
A 首先从 \(t = 2\) 的特殊部分分出发. 不难发现这个操作是很不直观的,于是可以考虑对于每个操作 \((u, v)\) 在 \(u, v\) 之间连一条无向边. 显然连通块之间要分开考虑,对 ...
- vue+element ui中select组件选择失效问题原因与解决方法
codejing 2020-07-10 09:13:31 652 收藏 分类专栏: Web Vue Element UI 版权 .当表单form赋完值后,如果后续又对form中某一属性值进行操作如 ...
- python使用插入法实现链表反转
# encoding=utf-8 class LNode(object): def __init__(self, x): self.data = x self.next = None def reve ...