《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),它们以功能包的形 ...
随机推荐
- 集合框架-工具类-Collections-排序
1 package cn.itcast.p2.toolclass.collections.demo; 2 3 import java.util.ArrayList; 4 import java.uti ...
- libevent网络库
1.概述 libevent是一个C语言编写的.轻量级开源高性能事件通知库.作为底层网络库,已经被广泛应用(如:memcached.Vomit.Nylon.Netchat等).主要有以下几个亮点: 事件 ...
- ApacheCN 计算机视觉译文集 20210212 更新
新增了六个教程: OpenCV 图像处理学习手册 零.前言 一.处理图像和视频文件 二.建立图像处理工具 三.校正和增强图像 四.处理色彩 五.视频图像处理 六.计算摄影 七.加速图像处理 Pytho ...
- AT2644 [ARC076C] Connected?
可以发现这个问题是存在边界的,那么我们可以先放宽一下条件思考一下没有边界的情况. 通过手玩可以发现,若不存在边界总是可以完成这个任务的. 因为两条曲线之间不存在交点,那么每次我们可以从空隙穿过一条直线 ...
- Kubernetes:Pod总结(二)
Blog:博客园 个人 承接上文. 在实际的生产使用场景中,直接用 Pod 是不合适的,因为必然会产生单点故障.因此,我们需要有一种方法来方便地创建.管理同一个服务的多个实例 Pod.Kubernet ...
- 解决死锁之路3 - 常见 SQL 语句的加锁分析 (转)
出处:https://www.aneasystone.com/archives/2017/12/solving-dead-locks-three.html 这篇博客将对一些常见的 SQL 语句进行加锁 ...
- SpringBoot使用IDEA设置的外部Tomcat启动
前言 使用springboot内嵌的tomcat启动是没问题,但是工程是要放到服务器上的tomcat的,所以springboot内嵌的能够启动,但不代表服务器的tomcat能启动起来,我就遇到了这个问 ...
- JavaScript与java语法区别
网页中各种技术的作用 感谢大佬:https://blog.csdn.net/RookiexiaoMu_a/article/details/89052768 HTML 制作网页的结构 CSS 美化网页 ...
- Docker入门 安装 基础操作命令
Docker 学习来源 https://www.bilibili.com/video/av26993050/?spm_id_from=333.788.b_636f6d6d656e74.20 https ...
- DNS解析域名过程
DNS解析域名过程 使用域名转换成IP地址,先读取本地HOST文件,本地文件没有从当前电信网管获取对应IP. 本地host文件 C:\Windows\System32\drivers\etc 画图演示 ...