강의

멘토링

로드맵

Programming

/

Programming Language

PHP 7+ プログラミング

PHP言語を始める方々のために、基本文法から組み込み関数、ウェブセキュリティ、掲示板作成まで、バイブルとなるようにとの思いで、今回の講座を作ってみました。

  • pronist
PHP

学習した受講者のレビュー

こんなことが学べます

  • PHP 7+ 基礎文法

  • PHP で使われる様々な組み込み関数

  • PHP のウェブセキュリティ要素

  • PHPで会員制掲示板を作る

  • PHP レガシープロジェクト 脱出

もうレガシーはやめて、
過去を乗り越えて未来へ進もう!
정상우の『Awesome Laravel』
어썸 라라벨

PHP 7+ プログラミング

基礎文法から内蔵関数、ウェブセキュリティ、掲示板作成まで、入門初級段階でPHP言語を始める方々のためのバイブルとなるよう作りたいという思いで、今回の講座を作成いたしました。

カリキュラム

この講座ではPHPプログラミング基礎文法から始めて組み込み関数、Webセキュリティ、掲示板作成まで、Web開発において基礎となる部分について説明します。既存の「PHP 7+ プログラミング」講座では扱わなかった様々な組み込み関数や、掲示板での単純な実装だけでなく関数化を通じてコードの品質向上まで図れるように構成してみました。

必ず知っておくべきPHP基礎文法

PHP 7+ バージョンに該当する基本的な文法を学習します。この講座は基本的にPHP 7.2バージョンを基準としていますが、PHP 7.4バージョンに登場したArrow FunctionSpread Operator in Arrayもカバーできるよう構成しました。したがって、講義をゆっくりと進めていけば、講義が制作された時点での最新バージョンであるPHP 7.4バージョンまで習得することができます。

よく使用されるPHP組み込み関数

String、Password HashingなどPHPプログラミングをする際に必ず知っておくべき組み込み関数について学びます。内容が多く見えるかもしれませんが、掲示板作成でかなりの数を使用することになります。ただし、単純に羅列する方式で進行されるため退屈に感じる可能性があります。そのため、掲示板作成を先に進めてから組み込み関数パートを見るのも一つの方法です。

*他のチャプターよりも組み込み関数で特に多くの途中離脱が発生します。リファレンス方式で進行するため面白くないからです。全部やろうとせず、該当機能が必要だと思われる時に受講するのが望ましいです。

セキュリティを忘れないでください。

Session、XSSなどウェブセキュリティについて学習します。PHPは他の言語に比べて参入障壁がやや低いため、むしろセキュリティのような事項が守られないケースが多いです。これはウェブアプリケーション作成において問題となる可能性があり、私たちがたとえセキュリティ専門家ではないとしても、基本的なセキュリティ事項は守る必要があります。

結局、掲示板を作ることになっています。

レガシープロジェクトで掲示板を作成します。白紙からindex.phpを作成することから始まってプロジェクトが進行されます。このような掲示板プロジェクトが現在フレームワーク中心で開発されて動いているWebアプリケーションの世界において合わないかもしれません。しかしPHPのフレームワークであるLaravelを少しでも理解するためにはレガシーでプロジェクトを作成してみる必要があり、驚くべきことに現場にはレガシーで作成されたPHP 4、PHP 5アプリケーションも多いです。

いつまで、レガシーですか?

レガシーで作成した掲示板プロジェクトを「どのようなアーキテクチャ」を描写しながら似たように真似します。オブジェクト指向で実装した「本物」ではないため言及しません。しかし現在存在するコードを関数化することで、コードが劇的に変化する様子を見ることができます。オブジェクト指向で実装してみることは『PHP 7+ プログラミング:オブジェクト指向』で話す予定です。

講義を受講する前に必要なもの

開発サーバーはビルトイン内蔵サーバーを使用しますが、必要に応じてWAMPのようなツールを使用するか、PHPマニュアルを参考にしてください。

  • PHP 7.4.21 TS(Thread Safe) (64bit)
  • XDebug 3.0.4 TS (64bit)
  • コードエディタ:VSCode(Visual Studio Code)を使用します。
  • サンプルコード:『00 - 環境 (Environment)』講義からダウンロードできます。

フロントエンドにCSS FrameworkとテキストエディターとしてCKEditor 5を使用します。

Q&A

2023年07月24日から個人的な事情により講義に関する質問をお受けしておりません。しかし、すでに数年間作成された質疑応答はご覧いただけます。コミュニティで質問を探してみることをお勧めします。

公式ドキュメント & 書籍

Q. この講座の後はどのようなことを勉強すればよいでしょうか?

A. オブジェクト指向パートを必ず勉強する必要があります。資料はPHPドキュメントを見るのがまだましです。もちろん、PHPは関数型プログラミングもできるので、それを調べてみるのも良いでしょう。その他にPHP Coding Standard、PSR(PHP Standard Recommendation)なども調べる必要があります。一つ確実なことは、オブジェクト指向を勉強する前にLaravelフレームワークに移るのは避ける方が良いということです。

この講座の次の講座は『PHP 7+ プログラミング:オブジェクト指向』です。今回の講座で関数についての話を主にしたとすれば、オブジェクト指向ではクラスとオブジェクトについての話を主にし、それだけでなくパッケージマネージャーなどもう少し深い内容を見ていきます。

2020年06月09日『PHP 7+ プログラミング:オブジェクト指向』講義が公開されました。

今こそオブジェクト指向で一歩前に進むべき時
『PHP 7+ プログラミング: オブジェクト指向』
PHP 7+ 프로그래밍: 객체지향

こんな方に
おすすめです

学習対象は
誰でしょう?

  • PHP を 学んでみたい 方

  • PHPでウェブサービスを構築してみたい方

  • PHP を しっかり学びたい方

こんにちは
です。

1,753

受講生

76

受講レビュー

187

回答

4.3

講座評価

4

講座

Github: https://github.com/pronist · Email: pronist@naver.com

カリキュラム

全体

71件 ∙ (15時間 33分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

31件

3.7

31件の受講レビュー

  • Jeong Hei Hyun님의 프로필 이미지
    Jeong Hei Hyun

    受講レビュー 2

    平均評価 4.0

    3

    56% 受講後に作成

    수업내용은 좋다.. 하지만 준비를 해오는지 의문이 든다.. 함수 설명 할때나 로직을 설명할때 왜? 쓰는지 어떻게 쓰는지 관해서는 초보자가 절실히 원하는 것인데... 어버버 한다.. 얼렁뚱당 넘어가서 1점 깍았다. 또한 얼렁뚱당 할때 발음도 많이 뭉개져서 잘 몰알아 듣는다. 수강생이 돈을 내고 수강 하는 이유는 함수를 쓰는 이유.. 로직이 어떻게 타는지 그렇걸 알고 싶은데 알려 주는 경우 거의 없다.. 당장 php 컨트롤러 관련된 동영상 인강이 아직 많지 않기 때문에 이거라도 봐야 한다면 이 강의를 추천합니다. :) 제발... 발음때문에 라면 제발 자막즘 달아 주세요.. 아! 댓글 잘 달아 주는건 좋다.. 물론 영양가 있게 뽑아 먹는건 수강생들의 몫.. 답변을 해준다고 했지.. 내가 원하는 내용만 쏙 말해 준다고는 안...ㅎ.ㅐ. 읍니다

    • 개foot님의 프로필 이미지
      개foot

      受講レビュー 50

      平均評価 5.0

      5

      100% 受講後に作成

      좋은 강의 열어 주셔서 감사합니다. 이 강의 학생분들은 http 프로토콜을 이해하셨으며 php 강의 이지만, 웹을 만들기 시작하신분 들에게 웹의 전반적인 방향과 기초를 잡아 주기에 좋은 강의 였습니다. 개인적으로 처음 웹을 만들 때 기본 보안 쪽을 어떻게 구성해야 하는 부분에서 고민이 많은 분에게도 추천 합니다. 선생님께서 많은 질문에도 친철하게 알려주셔서 카피 프로젝트를 무사히 할 수 있었습니다.(제 질문이 참고 질문에 올라와서 영광이었습니다!!^^) 다음 강의를 기다리면서 바램은 코드 폰트를 약간 키워주셨으면 하네요.^^ 감사합니다!!

      • 정상우
        知識共有者

        으앗 수강평 남겨주셔서 감사합니다. 객체지향 쪽이 현재 문법 부분까진 제작이 되었는데, 그 다음 섹션부터는 폰트 크기를 올려야 할 듯 싶네요. (이 강좌의 첫 번째 완강자십니다. Thank you!)

    • 고수님의 프로필 이미지
      고수

      受講レビュー 7

      平均評価 4.1

      3

      37% 受講後に作成

      발음 정확하게 해줬으면 좋겠다.. 뭐라고 말하시는데 집중해서 들어도 뭐라고 하는지 잘 안들린게 좀 아쉬움 강의 자체는 easy..

      • 정상우
        知識共有者

        수강평 감사합니다! 아무리 첫 강의라 그런지 발음이 어눌했던 점이 있던 것 같습니다. xD + 그리고 보니 .. 인코딩을 다시 해서 소리를 좀 키워야겠네요 .. ㅜㅜ

    • Henu님의 프로필 이미지
      Henu

      受講レビュー 9

      平均評価 5.0

      5

      100% 受講後に作成

      개발 업무의 주 언어는 JAVA이지만 PHP 5.* 버전으로 만들어진 레거시 프로젝트들을 유지보수 하고 있습니다. PHP 같은 경우 얇은 책 한권과 실무를 뛰면서 독학으로 익혔다고 보면되는데요. 고도화 작업을 진행할 때 PHP에 대한 깊은 지식이 없어 답답함을 많이 느꼈습니다. 하지만 이 강의를 듣고나니 PHP 기본 문법과 개발 방식에 대해 제대로 배워 볼 수 있는 기회가 되었네요. 물론, PHP 7 버전을 기준으로 학습을 했지만 이번 강의에서 배운 내용을 PHP 5.* 프로젝트에 적용을 시켜도 문제가 되진 않더라구요. 아마도 7 버전의 제대로된 학습은 OOP 강의부터 시작이 되겠지요. 저는 잠시 여기서 쉬어가며 회사 업무와 나름데로 복습을 진행하고 OOP 강의를 학습하려 합니다. 궁금한 내용에 대해 질문을 남기면 정성스럽게 답변해주신 강사님, 모던 PHP를 학습할 수 있는 기회를 만들어주신 강사님께 감사드립니다.

      • 정상우
        知識共有者

        강의를 봐주셔서 감사합니다. 돌이켜보면 설명이나 여러 측면에서 부족한 점이 많은 강의였는데, 이해가 되셨다니 다행입니다. 수강평 남겨주셔서 감사합니다. 객체지향 강의에서도 궁금한 점 있으시면 질문 던져주시기 바랍니다 ㅎㅎ

    • devedu님의 프로필 이미지
      devedu

      受講レビュー 2

      平均評価 4.5

      4

      100% 受講後に作成

      path패치, rewind리윈드 이 부분이 너무... 예... 뭐...

      • 정상우
        知識共有者

        아 발음하는 방법이 틀렸었네요 ㅋㅋㅋ 반성할게요. 그 외에 다른 부분은 괜찮으신가요? 다른 수강평에서 언급한 것 이외에 다른 부분에 문제가 있다면 말씀해주세요 :) 이후 강의에서 개선할 수 있을거에요.

      • 섹션4에서 레거시 프로젝트 예제를 만들고 문제점에 대해서 말씀하시고, 섹션5에서 이러한 부분을 수정하겠다고 하셨습니다. lib폴더에서 functions.php 파일을 만드실 때 그냥 게시판을 만들 때 이런 부분이 필요했었지 하고 복붙하는 느낌입니다. 물론 다 만들고 나면 이해가 되겠지만요. 실제로 구현할 때도 이렇게 한꺼번에 만드시나요? 섹션5를 시작하기 전에 라라벨을 구조를 따르는데 라라벨은 어떻고 나는 어떻게 폴더를 구성하였으며, 이 폴더가 어떻게 구성되었는지 왜 이렇게 만들었는지 설명해주시면 좋을 거 같아요. 레거시 코드 작성 때는 이러했었는데 이 부분을 이렇게 바꾸겠다. 미리 말씀하시고 강의를 진행해주시면 이해가 더 빠를 거 같아요.

      • 정상우
        知識共有者

        확실히 functions.php 를 만들 때 너무 한꺼번에 만든다는 생각을 버릴 수는 없는 것 같네요. 그 외에 추가적인 설명이 부족했던 것도 공감합니다. 좋습니다. 소중한 의견 감사드립니다. :)

    ¥6,744

    pronistの他の講座

    知識共有者の他の講座を見てみましょう!

    似ている講座

    同じ分野の他の講座を見てみましょう!