《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),它们以功能包的形 ...
随机推荐
- Go 变量及基本数据类型2
#### Go 变量及基本数据类型(二)今天学习一下基本数据类型,包括整数类型,小数类型,字符类型##### 整数类型用来存放整数数值的, 如0,1,-10,2222等; 整数型的类型有: 类型 有无 ...
- Maven作用及安装
与传统开发项目相比使用Maven: 1)Maven可以管理jar文件 2)自动下载jar和它的文档,源代码 3)管理jar直接的依赖,a.jar需要b.jar,maven会自动下载b.jar 4)管理 ...
- 不难懂————Promise对象 + 详解
1.Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了P ...
- 分页方法需要参数(当前页数,总数据量,拿到query的值)
class Pagination: def __init__(self, page_num, all_count ,params=None,per_num=10,max_show=11): " ...
- H264 编解码协议
1.概述 H264是MPEG-4标准所定义的最新编码格式,同时也是技术含量最高.代表最新技术水平的视频编码格式之一,标准写法应该是H.264.H.264视频格式是经过有损压缩的,但是在技术上尽可能做到 ...
- libevent网络库
1.概述 libevent是一个C语言编写的.轻量级开源高性能事件通知库.作为底层网络库,已经被广泛应用(如:memcached.Vomit.Nylon.Netchat等).主要有以下几个亮点: 事件 ...
- Idea Error:java: System Java Compiler was not found in classpath:
前言 这个问题和IDEA的版本有关系,或者有时不小心把项目错误操作了一步,导致出现,这个属于常见错误 解决办法 1:关闭项目,找一个正常运行的项目,将其.idea..mvn文件夹拷贝出来,替换到不能运 ...
- HttpClient 的Timeout waiting for connection from pool
Timeout waiting for connection from pool 异常 httpClient大家用到地方会很多,先简单描述一下几个关键配置的意义 httpClient版本为4.5.1 ...
- Java中的UIManager简单实用(皮肤包)
感谢大佬:https://blog.csdn.net/u010022051/article/details/52671860 注:具体详情请查阅Java API文档 /** * 设置图形界面外观 * ...
- Sping高质量博文链接集合
1. Spring事务传播行为详解 https://segmentfault.com/a/1190000013341344