ホームページ バックエンド開発 PHPチュートリアル PHP を書くときに今知っておくべきこと

PHP を書くときに今知っておくべきこと

Jan 17, 2017 am 09:48 AM
php を始める phpの基礎知識

まず、PHP 5.3 以降を使用する必要があります。PHP バージョンがこれより低い場合は、アップグレードする必要があります。可能であれば最新バージョンを使用することをお勧めします。

この記事には多くの内容が含まれており、拡張することができます。ほとんどの用語と概念を知っておく必要があります。

1. PSR

このグループの背後にあるアイデアは、プロジェクトの代表者がプロジェクト間の共通点について話し合い、協力する方法を見つけることです。

以前の記事や同僚とのコミュニケーションの過程で、私は次のように述べました。 PSR (PHP Standard Recommendation) については一度触れました。多くの人は、PSR はコーディング スタイルの標準化などの重要なことだけを行うだけだと考えていますが、実際にはそれをはるかに超えています。

PSR の一連の標準ドキュメントは、php-fig (PHP Framework Interop Group) によって起草され、投票されています。投票メンバーの中には、Laravel、Symfony、Yii などのいくつかの主流フレームワークや拡張機能の作成者も含まれています。

公式ウェブサイトによると、この組織の目的は、何をすべきかを指示することではなく、いくつかの主流の枠組みの間で交渉し、相互に合意することです。ただし、これらのフレームワークと拡張機能は常に使用されると思います。

PSR は現在、合計 6 つの文書を承認しています:

0: 自動読み込み (主に名前空間のない PHP 5.3 より前のバージョン用)

1: コーディング仕様

2: コーディングスタイルの推奨事項

3: ログ結果

4 : 自動読み込みがより詳細になりました (名前空間が表示されてから大幅に変更されました) 7: HTTP メッセージ インターフェイス

現在ドラフト (Draft) にあるのは PSR-5 (PHPDoc Standard)、PSR-6 ( Cache) などです。 5 と 6 はまだ投票されていないため、上記のリストには含まれていません。

基準は更新され続けるので、必ずしもすべてを遵守する必要はないかもしれませんが、これらの規約を勉強することも非常に有益であることがわかると思います。

グループ内の誰も、プログラマーであるあなたに、アプリケーションの構築方法を教えたくありません。

2. Composer

Composer は、プロジェクトが依存するライブラリを宣言するためのツールです。

composer は、拡張機能をインストールするために使用されるだけでなく、最新の PHP フレームワークの実装と拡張機能の管理を定義することも重要です。方法。 node.js の npm や Python の pip に似ていますが、上記以上のことを行います。 Composer の核心は、拡張機能の標準インストールとクラスの自動ロードを実装することです。 packagest.org プラットフォームを通じて、無数の拡張コンポーネントを簡単に導入できます。現在、よりよく知られている PHP 拡張機能は、composer を通じてインストールできます。この呼び出しで必要なのは、autoload.php ファイルをロードすることだけです。 Composer は、拡張クラスとファイルをロードするために spl_autoload_register メソッドを通じて自動ロード メソッドを登録します。 もちろん、Composer はこのプロセス中に最適化も行いました。 PHP が include と require を通じてファイルをインポートすることは誰もが知っていますが、これは実際には見た目が良くない書き方です。 PHP 5.3 は、ファイルのインポートとは関係のない名前空間を提供します。ただし、composer は PSR-4 (古いバージョンの PHP では PSR-0) を実装します。 use を使用する場合、spl_autoload_register を呼び出して実装されたメソッドは、呼び出されたときに必要なクラスをロードします。これは、美しく機能的です。オンデマンド読み込みと遅延読み込みの役割になります。

3. php-cs-fixer

PSR-1 および PSR-2 ドキュメントで定義されている PHP コーディング標準に従う必要がある場合、PHP コーディング標準修正ツールはコード内のほとんどの問題を修正します。このツールの目的は、PSR-1 および PSR-2 仕様に従ってコードをフォーマットすることであり、一部のオプションのコーディング スタイルは Symfony 仕様です。

実際、これは元々話す価値はありませんが、最近いくつかのオープンソース フレームワークで .php_cs ファイルを見て興味を持ち、さらに調査した結果、このプロジェクトについて知りました。コーディングスタイルを気にする必要はないと考える人もいるかもしれません。プログラミングが単なる仕事ではないと考えると、部屋が汚くても食事や睡眠には影響しませんが、きれいなほうが快適に見えるのと同じです。他の人と協力したいのであれば、この問題はさらに重要です。

4. PsySH

PHP 用のランタイム開発者コンソール、対話型デバッガー、および REPL。PsySH は、Python の IDLE に似た PHP 用の対話型ランタイム環境です。これはLaravelで発見したもので、Laravel 5のartisan tinkerの機能はこれを介して実装されています。 Laravel 4 は別のプロジェクト、boris を使用します。

これは主に、PHP のいくつかの単純な関数や機能をテストするときに役立ちます。 empty の使用など、不確実な点が発生した場合は、それを使用してテストを行うことができます。

5. いくつかのフレームワークとコンポーネント

フレームワーク

私はLaravelを好みます。現在、会社ではYii2を使用しています。SymfonyとPhalcon(C言語で実装)が気になっています。何を使用し、何を使用しないかは主に好みによるもので、自分で選択せざるを得ない場合もありますが、調べて詳しく知ることは悪いことではありません。

Laravel について言及するとき、多くの人はすぐに Ruby on Rails を思い浮かべるでしょう。模倣や盗用が主な目的ではないと思います。主な目的は、開発者により良いツールを提供することです。幸いなことに、Laravel には、別のルーティング制御 (アクションのサフィックスやプレフィックスなし)、便利な ORM (Eloquent)、便利なテンプレート エンジン (Blade)、または比較的見栄えの良いドキュメント (コミュニティが見た場合) などが備わっています。

Powerful は巨大であると批判されることがありますが、これはプロジェクトの中長期計画、プロジェクトの現在の規模、将来の規模と負荷を理解する必要があるためです。

Larval のコア実装はコンテナ (Container) と PHP のリフレクション クラス (ReflectionClass) です (Yii 2 にも同じことが当てはまります)。これを理解するには、さらに多くの記事やドキュメントを読みながら、ソース コードも参照してください。

Symfony 2 は多くのコンポーネントを提供します。 http-kernel と http-foundation も継承され、Laravel で直接使用されます。それは知り、学ぶ価値があります。

CodeIgniter は小さいながらも強力なフレームワークです。 CI は Composer コンポーネントを使用して開発されていませんが、3.0 以降のバージョンでは Composer のサポートも追加されています (これは、追加のベンダー ディレクトリを追加し、autoload.php ファイルを導入することに他なりません)。

ORM

ORM または Active Record はまだ必要だと思います。 PHP は単なるテンプレート エンジンであり、SQL は手動で記述する必要があると考える人もいるかもしれません。こんな言葉を気にしないでください。

CodeIgniter での Active Record の実装は非常に軽量ですが、CI 自体のサイズを考慮すると、すでに非常に便利です。

私は Laravel によって実装された Eloquent がとても気に入っており、他のプロジェクトに統合することもできます。 Symfony 2 では Doctrine が採用されており、このプロジェクトも注目に値します。 Yii 2 には独自の実装メソッドのセットもあります。

テンプレートエンジン

テンプレートエンジンは3つのことを行う必要があります:

1. 変数値の出力(echo)、

2. 条件判断とループ(if... else、for、foreach、 while)

3 . 他のファイルから導入または継承

Laravel によって実装された Blade は、比較的軽量で使いやすいテンプレート エンジンです。ただし、これを他のフレームワークに導入することは、現時点ではそれほど簡単ではありません。暇なときにYii 2に導入してみました。今は簡単な実装ですが、後でBladeの解析部分を抜き出して軽量実装したいと思っています。 Github で検索すると、同じことをしている人が見つかりました。

Yii 2 はネイティブ PHP を使用して記述することの方が推奨されているようですが、Smarty と Twig をサポートする拡張機能も提供しています。 Symfony 2 は Twig を使用します。 Twig と Symfony、および上記の php-cs-fixer はすべて SensioLabs の作品です。

Smarty は古くて粘り強いテンプレート エンジンです。正直に言うと、構文が複雑すぎて、変数の代入などに独自のメソッドが必要なため、あまり好きではありません。現在のバージョンではファイルの解析に Lexer が使用されており、PHP で実装された別の言語のように感じられます。プロジェクトには長すぎる正規表現や実装が複雑すぎるものもあり、これは非常に危険でエラーが発生しやすいものだと思います。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 入門: 基本的な PHP 構文 PHP 入門: 基本的な PHP 構文 May 20, 2023 am 08:39 AM

PHP は、動的な Web サイト、Web アプリケーション、および Web プログラムの開発に使用されるサーバー側スクリプト言語です。 PHP には幅広いアプリケーションがあり、初心者も経験豊富な開発者もその恩恵を受けることができます。この記事では、PHP の基本構文の入門ガイドを提供します。 PHP プログラミングを学び、ゼロから強固な基盤を構築したい場合は、ここが最適な場所です。 PHP の基本構造。PHP プログラムには、コードの両側の <?php//PHP code?>& の 3 つの部分が含まれています。

PHP 入門: ファイルのアップロードとダウンロード PHP 入門: ファイルのアップロードとダウンロード May 22, 2023 am 10:51 AM

Web 開発では、ファイルのアップロードとダウンロードは非常に一般的な要件です。ユーザーがアバターやドキュメントをアップロードする場合でも、管理者がユーザーにファイルのダウンロードを要求する場合でも、この機能は必要です。 PHP は強力なサーバーサイド言語として、強力なファイル操作関数とクラス ライブラリを当然提供しており、ファイルのアップロードおよびダウンロード機能を簡単に実装できます。この記事では、PHP でファイルのアップロードとダウンロードを実装するための基本的なプロセスと共通の関数を紹介し、サンプル コードを提供します。 PHP 初心者またはファイル操作を学習している場合

PHP 初心者ガイド: TCP/IP プログラミング PHP 初心者ガイド: TCP/IP プログラミング May 20, 2023 pm 09:31 PM

人気のサーバーサイド スクリプト言語として、PHP は Web アプリケーションの開発だけでなく、TCP/IP プログラミングやネットワーク プログラミングにも使用できます。この記事では、TCP/IP プログラミングの基本と、TCP/IP プログラミングに PHP を使用する方法を紹介します。 1. TCP/IP プログラミングの基礎知識 TCP/IP プロトコルは、インターネット上で通信するための標準プロトコルであり、TCP プロトコルと IP プロトコルの 2 つの部分から構成されます。 TCP プロトコルは信頼性の高い接続を確立する責任があります。

フロントエンド開発者が PHP について知っておくべきこと フロントエンド開発者が PHP について知っておくべきこと Mar 29, 2024 pm 03:09 PM

フロントエンド開発者として、PHP を理解することは非常に必要です。 PHP はバックエンド開発言語ですが、一定量の PHP の知識を習得すると、フロントエンド開発者が Web 開発プロセス全体をより深く理解し、作業効率を向上させ、バックエンド開発者とより適切に連携できるようになります。この記事では、フロントエンド開発者が知っておく必要がある PHP 関連の知識について説明し、具体的なコード例を示します。 PHPとは何ですか? PHP (HypertextPreprocessor) はサーバーです

PHP の初心者ガイド PHP の初心者ガイド May 25, 2023 am 08:03 AM

PHP は人気のあるフロントエンド プログラミング言語で、強力で学習と使用が簡単で、Web サイトの開発と保守に広く使用されています。初心者にとって、PHP を使い始めるには、ある程度の学習と習得が必要です。ここでは、PHP の初心者向けのガイドをいくつか紹介します。 1. 基本概念を学ぶ PHP を学ぶ前に、いくつかの基本概念を理解する必要があります。 PHP は、Web サーバーに命令を発行するスクリプト言語です。簡単に言えば、PHP を使用して HTML コードを生成し、それをブラウザーに送信して、最終的に Web ページ上にレンダリングすることができます。

PHP 入門: JSON 拡張機能 PHP 入門: JSON 拡張機能 May 20, 2023 am 08:37 AM

PHP は広く使用されているプログラミング言語で、特に Web 開発において重要な位置を占めています。その中でも、JSON はデータの保存と送信に使用できる一般的なデータ形式です。 JSON 拡張機能は、開発者が JSON データを操作および処理できるようにするために PHP で提供されています。この記事では、JSON 拡張機能の基本的な使い方と応用シナリオを紹介します。 1. JSON 拡張機能の基本的な使い方 JSON 文字列を PHP オブジェクトまたは配列に変換します PHP の json_decode() 関数は変換できます

PHP 入門: 一般的な HTTP ステータス コードのいくつか PHP 入門: 一般的な HTTP ステータス コードのいくつか May 21, 2023 am 08:15 AM

PHP の初心者にとって、HTTP ステータス コードを理解することは非常に重要です。 HTTP ステータス コードは、Web サーバーから返される 3 桁のコードを指し、クライアント リクエストの処理結果を示すために使用されます。この記事では、PHP 初心者が Web サイト開発中に遭遇するさまざまな HTTP ステータス コードをよりよく理解できるように、いくつかの一般的な HTTP ステータス コードとその意味を紹介します。 200OK200OK は最も一般的な HTTP ステータス コードの 1 つで、リクエストが正常に処理され、結果が返されたことを示します。次のような Web サイトにアクセスすると、

PHP 入門: キャッシュ設定 PHP 入門: キャッシュ設定 May 20, 2023 am 08:10 AM

PHP は、インターネット開発の分野でよく使用される非常に人気のあるプログラミング言語です。 PHP 開発において、キャッシュ設定は非常に重要な部分です。キャッシュは Web サイトのパフォーマンスとユーザー エクスペリエンスを向上させ、サーバーの負荷を軽減することができ、Web サイトを最適化するための一般的な方法の 1 つです。この記事では、PHP キャッシュを設定するための入門ガイドを紹介します。 1. キャッシュとは何ですか?キャッシュとは、頻繁にアクセスされるデータの一部をメモリに保存し、次回アクセスしたときにすぐに取得できるようにすることで、計算やデータベース クエリの繰り返しを回避し、応答速度を向上させます。 PHP、遅い

See all articles