>  기사  >  백엔드 개발  >  PHP를 배우는 것 외에 또 무엇을 배워야 할까요?

PHP를 배우는 것 외에 또 무엇을 배워야 할까요?

零下一度
零下一度원래의
2017-07-19 15:10:383282검색

PHP를 배우는 것 외에도 Composer, PHP7, PSR, Swoole, Laravel, Phar, C/C++/GO, HTML5, Vue.js, 딥 러닝/인공 지능 및 기타 지식도 배워야 합니다.

PHP를 배우는 것 외에 또 무엇을 배워야 할까요?

PHP 언어가 오늘날의 위상을 갖게 된 이유는 PHP 언어 설계자들이 항상 실용주의를 따르고 기술적 복잡성을 그 밑바닥에 숨겨왔기 때문입니다. PHP 언어는 시작하기 쉽고 마스터하기 쉽습니다. 프로그램은 강력하며 Java, C++ 및 메모리 누수 및 충돌과 같은 기타 언어와 같은 복잡한 문제가 발생하지 않습니다. PHP에서 공식적으로 제공하는 표준 라이브러리는 매우 강력합니다. 공식 표준 라이브러리에는 MySQL, Memcache, Redis, GD 그래픽 라이브러리, CURL, XML, JSON 등이 포함되어 있어 개발자가 라이브러리를 검색할 필요가 없습니다. 어디든. PHP의 문서는 각 기능에 대한 자세한 설명과 사용 예를 포함하여 훌륭합니다. 타사 라이브러리, 도구, 코드 및 프로젝트도 풍부합니다. 개발자는 PHP를 사용하여 다양한 소프트웨어를 빠르고 효율적으로 작성하고 개발할 수 있습니다. 아직까지 PHP보다 더 간단하고 사용하기 쉬운 프로그래밍 언어는 시장에 없습니다. 따라서 PHP의 전망은 여전히 ​​매우 넓습니다. 프로그래밍 언어의 선택을 고민하기보다는 PHP를 깊이 있게 배우고 사용하는 것이 좋습니다.

저는 선임 PHP 개발자로서 PHP 프로그램의 미래를 위한 10가지 기술적 제안을 드리고 싶습니다. 이것이 모든 사람에게 도움이 되기를 바랍니다.

1. Composer

첫 번째로 Composer를 언급하자면, Composer의 등장 이후 PHP 종속성 관리가 매우 간단해질 수 있습니다. 이 프로그램은 Composer를 사용하여 직접 도입할 수 있는 일부 클래스 라이브러리 및 프레임워크에 의존합니다. composer 업데이트를 사용하여 종속 패키지를 설치하세요. 과거에 외부 라이브러리를 로드할 때 발생했던 여러 가지 어려움이 해결되었습니다. Composer에는 매우 빠른 가정용 미러도 있습니다. 이제 대부분의 PHP 오픈 소스 프로젝트는 Composer를 지원하여 프로젝트의 PHP 코드 패키지 관리 문제를 해결하는 것이 좋습니다. 소스 코드를 다운로드하고 수동으로 포함하는 원래 방법을 사용하지 마십시오. composer update 安装依赖的包。解决了过去加载外部库的各种难题。Composer 也有国内镜像,速度非常快。现在绝大部分PHP开源的项目都提供了 Composer 的支持,建议大家在项目中使用 Composer 来解决 PHP 代码包管理的问题,不要再使用下载源码、手工 include 的原始方法。

2. PHP7

PHP7 版本对 Zend 引擎做了大量修改,大幅提升了 PHP 语言的性能,使用 PHP7 可以使你的程序性能瞬间翻倍。即使是 WordPress 这样重量级的软件运行在 PHP7 都能有上千 QPS ,相当于一台服务器每天就能处理 8000 万次请求。使用 PHP7 ,做好 MySQL 优化,使用 Memcache 和 Redis 进行加速,这套技术架构完全可以应对相当大规模的系统。除了某些亿级用户的平台之外,一般规模的系统完全没有压力。

3. PSR

PSR 是  组织制定的PHP语言开发规范,约定了很多方面的规则,如命名空间、类名
规范、编码风格标准、Autoload、公共接口等。现在已经成为PHP技术社区事实上的标准了。很多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 开发者应当学习掌握 PSR 规范,在开发程序时应当尽量遵循 PSR 规范。

4. Swoole

2017 年 PHP 还局限于做 Web 网站吗?No ,如果你还不知道 Swoole ,赶快去了解一下吧。Swoole 的口号是重新定义 PHP 语言,Swoole 是一个异步并行的通信引擎,作为 PHP 的扩展来运行。Node.js 的异步回调 Swoole 有,Go语言的协程 Swoole 也有,这完全颠覆了对 PHP 的认知。使用 Swoole PHP 可以实现常驻内存的 Server 程序,可以实现 TCP 、 UDP 异步网络通信的编程开发。过去PHP只能做一个 Web 网站,现在使用 Swoole 可以做 Java 、C++ 才能实现的通信服务,比如 WebSocket 即使通信、聊天、推送服务器、RPC 远程调用服务、网关、代理、游戏服务器等。如果你想用 PHP 做点 Web 系统之外的东西,Swoole 是最好的选择。

5. Laravel

最近几年最火热的 PHP 框架,官网号称是为 Web 艺术家设计的框架,可见这套框架有多优雅。Laravel 提供的功能模块丰富,API 设计简洁,表达力强。而且它的社区非常活跃,代码贡献者众多,第三方的插件非常多,生态系统相当繁荣。 Laravel 底层使用了很多 symfony2 组件,通过 composer 实现了依赖管理。如果还在纠结使用什么PHP框架,不如选择 Laravel 。 Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。

6. Phar

PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到
PHP-FPM 中运行。配合 Swoole ,可以在命令行下执行 php server.phar

2. PHP7🎜🎜 PHP7 버전에서는 Zend 엔진이 많이 수정되어 PHP 언어의 성능이 크게 향상되었습니다. PHP7을 사용하면 프로그램 성능이 즉시 두 배로 향상됩니다. WordPress와 같은 중량급 소프트웨어도 PHP7에서 수천 개의 QPS를 실행할 수 있습니다. 이는 하루에 8천만 개의 요청을 처리할 수 있는 서버에 해당합니다. PHP7을 사용하고 MySQL을 최적화하며 가속화를 위해 Memcache 및 Redis를 사용하는 이 기술 아키텍처는 상당히 대규모 시스템을 완벽하게 처리할 수 있습니다. 수억 명의 사용자가 있는 일부 플랫폼을 제외하고 평균 규모의 시스템은 스트레스가 전혀 없습니다. 🎜🎜3. PSR🎜🎜PSR은 조직에서 공식화한 PHP 언어 개발 사양으로 네임스페이스, 클래스 이름 사양, 코딩 스타일 표준, 자동 로드, 공용 인터페이스 등을 규정합니다. 이제 이는 PHP 기술 커뮤니티에서 사실상의 표준이 되었습니다. 잘 알려진 많은 PHP 프레임워크와 라이브러리는 PSR 사양을 준수합니다. PHP 개발자는 PSR 사양을 익히고 프로그램을 개발할 때 PSR 사양을 따르도록 노력해야 합니다. 🎜🎜4. Swoole🎜🎜2017년에도 PHP는 여전히 웹사이트로 제한되어 있나요? 아니요, 아직 Swoole을 모르신다면 가서 알아보세요. Swoole의 슬로건은 PHP 언어를 재정의하는 것입니다. Swoole은 PHP의 확장으로 실행되는 비동기식 병렬 통신 엔진입니다. Node.js에는 비동기 콜백 Swoole이 있고 Go 언어 코루틴 Swoole에도 이 콜백이 있어 PHP에 대한 이해를 완전히 뒤집습니다. Swoole PHP를 사용하면 메모리 상주 서버 프로그램을 구현하고 TCP 및 UDP 비동기 네트워크 통신의 프로그래밍 개발을 실현할 수 있습니다. 과거에는 PHP로 웹사이트만 구축할 수 있었지만 이제는 Swoole을 사용하여 WebSocket 통신, 채팅, 푸시 서버, RPC 원격 호출 서비스, 게이트웨이, 프록시 등 Java 및 C++로만 구현할 수 있는 통신 서비스를 만들 수 있습니다. , 게임 서버 등 PHP를 사용하여 웹 시스템 이외의 작업을 수행하려는 경우 Swoole이 최선의 선택입니다. 🎜🎜5. Laravel🎜🎜최근 몇 년간 가장 인기 있는 PHP 프레임워크인 공식 웹사이트에서는 웹 아티스트를 위해 설계된 프레임워크라고 주장하는데, 이는 이 프레임워크가 얼마나 우아한지 보여줍니다. Laravel은 풍부한 기능 모듈, 간단한 API 디자인 및 강력한 표현력을 제공합니다. 더욱이 커뮤니티는 많은 코드 기여자와 많은 타사 플러그인으로 매우 활발하며 생태계는 상당히 번영하고 있습니다. 라라벨은 최하위 레이어에 Symfony2 컴포넌트를 많이 사용하고 있으며, Composer를 통해 의존성 관리를 구현하고 있습니다. 어떤 PHP 프레임워크를 사용해야 할지 아직도 고민 중이라면 Laravel을 선택하는 것이 좋습니다. Laravel에서 제공하는 명령줄 도구는 Symfony.console을 기반으로 하며 다양한 프로젝트 관리 및 자동 코드 생성 기능을 통합합니다. 🎜🎜6. Phar🎜🎜PHP5.3 이후에는 phar라는 Java와 유사한 jar 패키지를 지원합니다. 여러 PHP 파일을 하나의 파일로 패키징하는 데 사용됩니다. 이 기능을 사용하면 PHP는 Java처럼 쉽게 애플리케이션을 패키지화하고 구성 요소화할 수 있습니다. 애플리케이션을 Phar 패키지로 패키징하고 🎜PHP-FPM에서 직접 실행할 수 있습니다. Swoole을 사용하면 명령줄에서 php server.phar를 실행하여 한 번의 클릭으로 서버를 시작할 수 있습니다. PHP 코드 패키지는 Phar를 사용하여 구성 요소로 패키징할 수 있으며 로드 및 실행을 위해 Swoole의 서버 컨테이너에 배치될 수 있습니다. 🎜

7. C/C++/GO

모든 기술에는 장점과 단점이 있습니다. PHP는 동적 스크립팅 언어로서 개발이 쉽고 효율성이 높다는 장점이 있습니다. 단점은 성능이 좋지 않다는 것입니다. 집약적인 컴퓨팅 시나리오에서는 C 및 C++보다 수십 배, 심지어 수백 배 더 나쁩니다. 또한, PHP는 기본 계층을 직접 작동할 수 없으며 API 구현을 제공하기 위해 확장 라이브러리에 의존해야 합니다. PHP 프로그래머는 동적 및 정적 보완을 달성하기 위해 정적 컴파일 언어를 배울 수 있으며 모두 좋은 선택입니다. 게다가 정적 언어의 프로그래밍 경험은 동적 언어의 프로그래밍 경험과 완전히 다르며, 학습 과정을 통해 더 큰 향상을 이룰 수 있습니다.

C/C++ 언어를 마스터한 후에는 PHP, Swoole, Nginx, Redis 및 Linux 커널과 같은 오픈 소스 소프트웨어의 소스 코드를 읽고 기본 작동 원리를 이해할 수도 있습니다.

이제 최신 버전의 Swoole은 C++ 확장 모듈을 지원하고 Zend API를 캡슐화합니다. PHP 확장 기능과 클래스를 C++로 구현하는 것이 매우 간단해졌습니다.

8. HTML5

웹 프론트 엔드의 차세대 표준인 HTML5는 매우 밝은 미래와 엄청난 시장 수요를 가지고 있습니다. PC 웹사이트, B/S 기업용 소프트웨어, 모바일 웹페이지, APP 등 모든 분야에서 HTML5를 수용하고 있습니다. HTML5를 마스터해야만 차세대 인터넷 기술에서 살아남을 수 있습니다.

9. Vue.js

PHP 프로그래머는 백그라운드 프로그램 작성 외에도 브라우저 프런트엔드를 다루는 프레젠테이션 계층에서 작업의 상당 부분을 담당합니다. 2017년에도 인터페이스 렌더링을 구현하기 위해 DOM을 조작하는 데 여전히 jQuery를 사용하고 있나요? 완전히 아웃되었습니다. 이제 Vue.js를 사용하여 데이터와 DOM 요소를 바인딩하는 것이 매우 편리해졌습니다. Ajax를 통해 데이터를 반환하도록 백엔드 인터페이스에 요청한 후 프런트엔드 데이터가 업데이트되어 인터페이스 렌더링이 자동으로 구현됩니다. 2017년에 Vue를 배우지 않으면 너무 늦을 것입니다.

웹 프로그램을 작성하고 싶을 뿐만 아니라 Android, IOS, PC 클라이언트 및 기타 플랫폼도 고려하고 싶다면 React Native가 좋은 선택입니다.

10. 딥러닝/인공지능

머신러닝, 딥러닝, 인공지능의 개념을 이해하지 못한다면 인터넷의 미래는 인공지능에 달려있습니다. 가능한. 이제 Google, Facebook, Microsoft, Amazon 및 국내 Baidu를 포함한 인터넷 거대 기업들이 인공 지능을 배포하고 있습니다. 아직은 과학적인 연구 단계이지만 앞으로는 자율주행, 빅데이터 분석, 온라인 게임, 영상인식, 언어처리 등 인터넷의 다양한 분야에 인공지능이 적용될 예정이다. 물론, 지금은 일반 엔지니어들이 인공지능 제품에 참여할 수 없을 수도 있지만, 최소한 딥러닝/인공지능의 기본 개념과 원리는 이해하고 있어야 합니다.

위 내용은 PHP를 배우는 것 외에 또 무엇을 배워야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.