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桌面版。 我这里已经安装过了,如果你没有安装的话,需要下载对应的版本,并且进行安装。

下面我们需要安装GitGit可以对代码的版本进行管理,我们仍然使用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项目的更多相关文章

  1. Apache Tomcat下载、安装、环境变量配置以及项目部署

    前言 针对在本地访问文件或资源出现的跨域问题,可以通过搭建本地服务器来解决,本篇随笔主要介绍通过搭建Apache Tomcat服务器来解决跨域.包括Apache Tomcat的下载.安装.环境变量的配 ...

  2. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(二)

    你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的 ...

  3. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(四)

    MyEclipse超值折扣 限量 100 套! 立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形 ...

  4. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(三)

    MyEclipse超值折扣 限量 100 套! 立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形 ...

  5. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(一)

    你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的 ...

  6. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(七)

    [周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包 ...

  7. Android快乐贪吃蛇游戏实战项目开发教程-02虚拟方向键(一)自定义控件概述

    该系列教程概述与目录:http://www.cnblogs.com/chengyujia/p/5787111.html 一.自定义控件简介 在本项目中,无论是游戏主区域还是虚拟方向键都是通过自定义控件 ...

  8. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(六)

    [周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包 ...

  9. MyEclipse WebSphere开发教程:安装和更新WebSphere 6.1, JAX-WS, EJB 3.0(五)

    MyEclipse超值折扣 限量 100 套! 立即开抢>> [MyEclipse最新版下载] MyEclipse支持Java EE技术(如JAX-WS和EJB 3.0),它们以功能包的形 ...

随机推荐

  1. 集合框架-工具类-Collections-排序

    1 package cn.itcast.p2.toolclass.collections.demo; 2 3 import java.util.ArrayList; 4 import java.uti ...

  2. libevent网络库

    1.概述 libevent是一个C语言编写的.轻量级开源高性能事件通知库.作为底层网络库,已经被广泛应用(如:memcached.Vomit.Nylon.Netchat等).主要有以下几个亮点: 事件 ...

  3. ApacheCN 计算机视觉译文集 20210212 更新

    新增了六个教程: OpenCV 图像处理学习手册 零.前言 一.处理图像和视频文件 二.建立图像处理工具 三.校正和增强图像 四.处理色彩 五.视频图像处理 六.计算摄影 七.加速图像处理 Pytho ...

  4. AT2644 [ARC076C] Connected?

    可以发现这个问题是存在边界的,那么我们可以先放宽一下条件思考一下没有边界的情况. 通过手玩可以发现,若不存在边界总是可以完成这个任务的. 因为两条曲线之间不存在交点,那么每次我们可以从空隙穿过一条直线 ...

  5. Kubernetes:Pod总结(二)

    Blog:博客园 个人 承接上文. 在实际的生产使用场景中,直接用 Pod 是不合适的,因为必然会产生单点故障.因此,我们需要有一种方法来方便地创建.管理同一个服务的多个实例 Pod.Kubernet ...

  6. 解决死锁之路3 - 常见 SQL 语句的加锁分析 (转)

    出处:https://www.aneasystone.com/archives/2017/12/solving-dead-locks-three.html 这篇博客将对一些常见的 SQL 语句进行加锁 ...

  7. SpringBoot使用IDEA设置的外部Tomcat启动

    前言 使用springboot内嵌的tomcat启动是没问题,但是工程是要放到服务器上的tomcat的,所以springboot内嵌的能够启动,但不代表服务器的tomcat能启动起来,我就遇到了这个问 ...

  8. JavaScript与java语法区别

    网页中各种技术的作用 感谢大佬:https://blog.csdn.net/RookiexiaoMu_a/article/details/89052768 HTML 制作网页的结构 CSS 美化网页 ...

  9. Docker入门 安装 基础操作命令

    Docker 学习来源 https://www.bilibili.com/video/av26993050/?spm_id_from=333.788.b_636f6d6d656e74.20 https ...

  10. DNS解析域名过程

    DNS解析域名过程 使用域名转换成IP地址,先读取本地HOST文件,本地文件没有从当前电信网管获取对应IP. 本地host文件 C:\Windows\System32\drivers\etc 画图演示 ...