メインメニュー
XAMPP アレンジ
IED
WSL2
-
道具箱
リポジトリ編
フレームワーク編
公開ソフトウェア
メタ
リンク
- PHP ライブラリ
- PHP 言語
psr:psr1目次
PSR-1: Basic Coding Standard
— y2sunlight 2020-04-21
本章は、若干の補足を加筆してはいるものの単にPSRのサイトを日本語に翻訳したものに過ぎません。英語が堪能な方は原文をご参照下さい。翻訳に当たっては、基本的に機械翻訳を使い、理解できない部分は独断で意訳しております。拙い訳では御座いますが恥を忍んで投稿しておりますので、ご指摘など御座いましたらコメントを頂ければ幸いです。
関連記事
- PSR-1: Basic Coding Standard - 基本コーディング規約
PSR-1: 基本コーディング規約
— 原文より翻訳 PSR-1: Basic Coding Standard 2020-04-21 現在
このセクションの規約は、共有されるPHPコードにおいて、高度な技術的相互運用性を保証するために必要な標準コーディング要素と見なす必要があるもので構成されています。
このドキュメントのキーワード
MUST
,MUST NOT
,REQUIRED
,SHALL
,SHALL NOT
,SHOULD
,SHOULD NOT
,RECOMMENDED
,MAY
及びOPTIONAL
は、 RFC 2119で説明されているように解釈して下さい。RFC 2119の説明
MUST
,REQUIRED
,SHALL
— 絶対必要
MUST NOT
,SHALL NOT
— 絶対禁止
SHOULD
,RECOMMENDED
— 推奨(但し、無視できる特定の正当な理由が存在するかもしれない)
SHOULD NOT
— 推奨できない(但し、許可できる特定の正当な理由が存在するかもしれない)
MAY
,OPTIONAL
— オプション
1. 概観
- ファイルは、<?php と <?= タグのみを使用する必要があります (
MUST
) - ファイルは、BOMなしのUTF-8のみを使用する必要があります (
MUST
) - ファイルは、シンボル(クラス、関数、定数など)を宣言するか、または副作用(例えば、出力の生成や.ini設定の変更など)を引き起こすかのいずれか行うべきです (
SHOULD
)。両方を行うべきではありません (SHOULD NOT
) - 名前空間とクラスは、オートローディングPSR(PSR-0, PSR-4)に従う必要があります (
MUST
) - クラス名は、StudlyCaps (Upper Camel Case または Pascal Case) で宣言する必要があります (
MUST
) - クラス定数は、アンダースコア区切りの大文字 で宣言する必要があります (
MUST
) - メソッド名は、camelCase で宣言する必要があります (
MUST
)
StudlyCaps(UCC: Upper Camel Case)とcamelCase(LCC: Lowere Camel Case)については以下を参照
キャメルケース
2. ファイル
2.1 PHPタグ
PHPコードは長いタグ <?php ?> または短いechoタグ <?= ?> を使用する必要があります。 他のタグのバリエーションを使用してはなりません(
MUST
)。2.2 文字コード
PHPコードはBOMなしのUTF-8のみを使用する必要があります(
MUST
)。2.3 副作用
ファイルは、新しいシンボル(クラス、関数、定数など)を宣言する場合は、他の副作用を引き起こさないようにする必要があります(
SHOULD
)。また、副作用を伴うロジックを実行する必要がある場合は、宣言を行うべきではありません(SHOULD NOT
)。「副作用」という語句は、クラス、関数、定数などの宣言に直接関係しないロジックの実行を意味し、ファイルをインクルードするだけで、ロジックが実行されることを意味します。
「副作用」には、以下が含まれますが、これらに限定されません。
- 出力の生成
- requireまたはincludeの明示的な使用
- 外部サービスへの接続
- ini設定の変更
- エラーまたは例外の発行
- ローバル変数または静的変数の変更
- ファイルの読み取りまたは書き込み など
以下は、宣言と副作用の両方を含むファイルの例です。つまり、避けるべき例です:
<?php // 副作用:ini設定の変更 ini_set('error_reporting', E_ALL); // 副作用:ファイルのロード include "file.php"; // 副作用:出力の生成 echo "<html>\n"; // 宣言 function foo() { // 関数本体 }
次の例は、副作用のない宣言を含むファイルです。つまり、見習うべき例です:
<?php // 宣言 function foo() { // 関数本体 } // 条件付き宣言は副作用ではありません if (! function_exists('bar')) { function bar() { // 関数本体 } }
3. 名前空間とクラス名
名前空間とクラスは、オートローディングPSR (PSR-0, PSR-4) に従う必要があります(
MUST
)。これは、各クラスがそれ自体でファイル内にあり、少なくとも1つのレベルのネームスペース(トップレベルはベンダー名です)にあることを意味します。
クラス名はStudlyCapsで宣言する必要があります(
MUST
)。StudlyCapsとは、Upper Camel Case または Pascal Caseと同意です。PHP 5.3以降用に記述されたコードは、正式な名前空間を使用する必要があります(
MUST
)。例えば:
<?php // PHP 5.3以降 namespace Vendor\Model; class Foo { }
5.2.x以前向けに記述されたコードは、クラス名の前にプレフィックス( Vendor_ など)の疑似名前空間規則を使用する必要があります(
SHOULD
)。<?php // PHP 5.2.xおよびそれ以前 class Vendor_Model_Foo { }
4. クラス定数、プロパティ、メソッド
「クラス」という用語は、すべてのクラス(class)、インターフェース(interface)、およびトレイト(trait)を指します。
4.1 定数
クラス定数は、アンダースコア区切りで大文字で宣言する必要があります(
MUST
)。例えば以下のようです:namespace Vendor\Model; class Foo { const VERSION = '1.0'; const DATE_APPROVED = '2012-06-01'; }
4.2 プロパティ
このガイドでは、プロパティ名について、StudlyCaps、camelCase、または under_score の使用に関する推奨を意図的に避けています。
StudlyCapsとは、Upper Camel Case または Pascal Caseと同意です。
camelCaseとは、Lower Camel Case と同意です。
under_scoreとは、Snake Case と同意です。どのような命名規則が使用されていても、合理的なスコープで一貫して適用されるべきです。そのスコープとは、ベンダーレベル、パッケージレベル、クラスレベル、またはメソッドレベルなどでしょう(
SHOULD
)。4.3 メソッド
メソッド名は camelCase で宣言する必要があります(
MUST
)。
psr/psr1.txt · 最終更新: 2020/09/01 11:51 by tanaka
コメント
https://www.nflfanshop.com.co/ https://www.footballstores.us.com/ https://www.cheapbaseballjerseyswholesale.us.com/ https://www.bestnfljerseyscheap.us.com/ https://www.wholesalejerseyscheapest.us.com/ https://www.footballstore.us.com/ https://www.nbastores.com.co/ https://www.cheapjerseysfromchinawholesale.com/ https://www.cheapjerseysfromchinawholesale.com.co/ https://www.nflstores.com.co/ https://www.nfljerseysofficialshop.us/ https://www.nhljerseyscheapwholesale.us.com/ https://www.basketballapparel.us/ https://www.hockeyjerseyswholesale.us.com/ https://www.cheapnfljerseyswholesale.com.co/ https://www.footballjerseyscheapest.us.com/ https://www.jerseyswholesale.com.co/ https://www.footballjerseysforcheap.us.com/ https://www.nflgear.com.co/ https://www.nflfootballjerseys.com.co/ https://www.wholesalefootballjerseyscheap.us.com/ https://www.nflshop.com.co/ https://www.cheap-jerseyswholesale.com.co/ https://www.baseballjerseyswholesale.us/ https://www.cheapnfljerseysfromchina.com.co/ https://www.baseballjerseyssale.us.com/ https://www.mlbbaseballjerseyscheap.us.com/ https://www.officialfootballjerseys.us.com/ https://www.wholesalejerseyschina.com.co/ https://www.nflgearuniforms.us/ https://www.cheapbasketballjerseyswholesale.us.com/ https://www.cheap-nfljerseys.com.co/ https://www.nbashop.us.org/ https://www.officialbaseballjerseys.us.com/ https://www.baseballjerseyscheap.us.com/ https://www.footballstoreonlineshopping.us.com/ https://www.wholesalecheapjerseysfromchina.us/ https://www.nflproshops.com.co/ https://www.cheapfootballjerseysfromchina.us.com/ https://www.nflfootballjerseysforcheap.com/ https://www.mlbshops.com.co/ https://www.cheaphockeyjerseys.us.com/ https://www.basketballjerseyswholesale.us.com/ https://jerseysforcheapwholesale.us.com/ https://www.nflstoreonlineshopping.us/ https://www.newfootballjerseys.us.com/ https://www.nflfanshop.us.com/ https://www.cheapestjerseysfromchinafactory.us.com/ https://www.officialnfljersey.us.com/ https://www.hockeyjerseyscheap.us/ https://www.cheapwholesalejerseys.com.co/ https://www.wholesalejerseysforcheap.com/ https://www.jerseyscheapwholesalefromchina.us.com/ https://www.nhlstore.com.co/ https://www.basketballjerseyscheapwholesale.us.com/ https://www.jerseyscheap.com.co/ https://www.footballjerseys.com.co/ https://www.footballproshop.us.com/ https://www.jerseysforcheapwholesale.us/ https://www.officialmlbstore.us.com/ https://www.bestfootballjerseys.us.com/ https://www.mlbbaseballjerseys.us.org/ https://www.wholesalecheapjerseysshop.com.co/ https://www.nhlhockeyjerseyswholesale.us.com/ https://www.basketballjerseyswholesale.us/ https://www.nbajerseysnew.us.com/ https://www.hockeystores.us.com/ https://www.mlbjerseyswholesalecheap.us.com/ https://www.nflfootballjerseysnew.us.com/ https://www.jerseyswholesaleforcheap.us.com/ https://www.nfl-shop.com.co/ https://www.mlbjerseysforcheap.us.com/ https://www.baseballjerseyscheapwholesale.us.com/ https://www.baseball-jerseys.us.com/ https://www.nhljerseysforcheap.us.com/ https://www.cheapjerseyswholesalefreeshipping.com.co/ https://www.nfljerseyscheap.com.co/ https://www.cheapjerseyssale.us.org/
https://www.pandorabracelets-clearance.us.com/ https://www.jewelrycharmsrings.uk.com/ https://www.nikes-sneakers.us.com/ https://www.nike-outletstoreonlineshopping.us.com/ https://www.kyrie-irvingshoes.us.org/ https://www.jewelrycharms.us/ https://www.jordan1high.us.com/ https://www.yeezys-adidas.us.com/ https://www.jordanaj1.us.com/ https://www.nike-presto.us.com/ https://www.yeezyscheap.us.com/ https://www.nike-jordan1.us.com/ https://www.yeezyboosts-350.us.com/ https://www.nikefreernrun.us.com/ https://www.airjordans-sneakers.us/ https://www.nikefreerun.us.org/ https://www.jordan3.us.com/ https://www.menwomenshoes.us/ https://www.nikeshoess.us.org/ https://www.kevin-durantsshoes.us.com/ https://www.nmdr1adidas.us.com/ https://www.christian-louboutinoutletsale.us.com/ https://www.nikeair-max270.us/ https://www.air-jordan8.us.com/ https://www.nikerunning-shoes.us.com/ https://www.nike-stores.us.org/ https://www.christianslouboutin.us.com/ https://www.nikeoutletonlineclearance.us.com/ https://www.pandorascharm.us.com/ https://www.air-jordans1.us.com/ https://www.outletstoreonlineshopping.us/ https://www.pandorajewelryofficialwebsite.us/ https://www.newnikeshoes.us.org/ https://www.shoesyeezy.us.com/ https://www.airmax2019.us.org/ https://www.jordans13retro.us/ https://www.vansshoes-outlets.us.com/ https://www.jordan11gammablue.us/ https://www.jordansretro11.us.com/ https://www.redbottomslouboutinshoes.us/ https://www.adidasultra-boosts.us.com/ https://www.shoes-yeezy.us.com/ https://www.nikeair-jordan.us.com/ https://www.jordansshoesformen.us.com/ https://www.nikeoutletstoreonlines.us.com/ https://www.nikeshoesshop.us.com/ https://www.nikecortezshox.us.com/ https://www.ferragamosshoes.us.com/ https://www.nikeairmax720.us.com/ https://www.yeezyshoess.us.com/ https://www.charmsbracelet.uk.com/ https://www.nikeshoesclearance.us.com/ https://www.airforce-1.us.org/ https://www.nikesneakersoutlet.us.org/ https://www.cheapnikesshoes.us.com/ https://www.pandorabraceletsforwomen.us/ https://www.nikefactorystoreonline.us.com/ https://www.lebronjamesshoessale.us.com/ https://www.yeezysboosts.us.com/ https://www.jordan4s.us.com/ https://www.nikefactorys.us/ https://www.nikeshoesfactorys.us.com/ https://www.nikecortez.us.org/ https://www.jordan12s.us.com/ https://www.christian-louboutin-shoes.us.org/ https://www.airjordan-retro11.us.com/ https://www.jordan32shoes.us/ https://www.nikeairmax720.us.org/ https://www.nikeshoesonlines.us.com/ https://www.sneakerswebsite.us/ https://www.max97trainers.uk.com/ https://www.redbottomshoes-forwomen.us/ https://www.airjordan9.us.com/ https://www.airforce1shoes.us.com/ https://www.jordan1s.us.org/ https://www.nike-outletstores.us.com/ https://www.airjordan1mid.us.com/ https://www.moncleroutletuk.uk.com/ https://www.pandorashop.ca/ https://www.nikeair-max.us.org/ https://www.pandoracharmscom.us/ https://www.nikeoutletonline-store.us.com/ https://www.airjordans.com.co/ https://www.nikeoutletstore-onlineshopping.us.org/ https://www.nikeoutletstores.us.org/ https://www.charmsjewelryrings.uk.com/ https://www.christianlouboutins-outlet.us.com/ https://www.airmax-98.us.com/ https://www.christianlouboutins.us.org/ https://www.red-bottomheels.us/ https://www.nike-basketballshoes.us.org/ https://www.airjordanshoesretros.us.com/ https://www.nike--shoes.us.com/ https://www.pandoranecklaces.us/ https://www.airjordan11.us.org/ https://www.yeezy500.us.org/ https://www.nikeoutlet-factory.us.com/ https://www.airjordanssneakers.us.org/ https://www.pandora-jewelryrings.us/ https://www.nikesneakerssale.us.com/ https://www.lebron-jamesshoes.us.org/ https://www.nike-runningshoes.us/ https://www.pandorascharmsjewelry.us/ https://www.nikebasketball-shoes.us.com/ https://www.newjordanscomingout.us.com/ https://www.adidas-nmds.us.org/ https://www.louboutinheelsshoes.us.com/ https://www.nike-airmax98.us/ https://www.fjallravenkankenbackpack.us/ https://www.nikeshoes2019.us.com/ https://www.nikeshoescybermondayblackfriday.us.com/ https://www.nikesclearance.us/ https://www.red-bottomshoesforwomen.us.com/ https://www.new-nikeshoes.us.com/ https://www.pandoracanadajewelrycharms.ca/ https://www.ferragamobelts.us.com/ https://www.uncjordan1.us.com/ https://www.christianlouboutins.uk.com/ https://www.airforceones.us.com/ https://www.air-max95.us.com/ https://www.pandorasjewelryoutlet.us.com/ https://www.nikereactuptempo.us.com/ https://www.jordanshoesforkids.us/ https://www.pandora-earrings.us/ https://www.louboutinshoess.us/ https://www.nikeshoesfactorystore.us.com/ https://www.lebron16shoes.us.org/ https://www.pandoras.us.org/ https://www.pandoracom.ca/ https://www.air-jordansretro.us.com/ https://www.jewelrynecklacerings.uk.com/ https://www.kyrieirvingbasketballshoes.us.com/ https://www.nikestorefactory.us.com/ https://www.asicsshoesoutlet.us.com/ https://www.nikehuaraches.us.com/ https://www.adidassneakers.us.com/ https://www.nike-zoom.us.com/ https://www.nikefactory-outlet.us.org/ https://www.air-jordan10.us.com/ https://www.nikeoutletstoreclearance.us.com/ https://www.newshoes2019.us/ https://www.nikeairforce.us.org/ https://www.fjallravenbackpack.us/ https://www.michael-jordanshoes.us.com/ https://www.christianlouboutinshoessaleoutlet.us/ https://www.jordan7.us.com/ https://www.jordan-retro4.us.com/ https://www.nikeairzooms.us.com/ https://www.jordanretroshoes.us.org/ https://www.nikestores.us.org/ https://www.nike-clearance.us.com/ https://www.lebron16shoes.us/ https://www.valentinoshoessale.us.com/ https://www.airjordan14.us.com/ https://www.golden-gooses.us.com/ https://www.ultra-boosts.us.com/ https://www.runningshoesformenwomen.us/ https://www.jordansretro13.us.com/ https://www.nikeoutletstoreonline-shopping.us.com/
https://www.soccercleats.us.com/ https://www.jordan5.us.com/ https://www.pandorascharms.us.com/ https://www.airjordanretro11.us.com/ https://www.jordan-retro1.us.com/ https://www.airjordansnew.us.com/ https://www.nikesfactory.us.com/ https://www.mensnikeshoes.us.com/ https://www.jordanshoesretro.us.com/ https://www.nikeair-maxs.us.com/ http://www.pandorarings.us.com/ https://www.jordans1s.us.com/ https://www.christianslouboutinshoes.us.com/ https://www.huarachesnike.us.com/ https://www.goldensgoose.us.com/ https://www.eccos.us.com/ https://www.redbottomshoeslouboutin.us.com/ https://www.asics-running-shoes.us.com/ https://www.jordan-4.us.com/ https://www.jordan12retro.us.com/ https://www.pandorajewelryofficial-site.us/ https://www.vanscom.us.com/ https://www.jordans5.us/ https://www.redbottomslouboutin.us.org/ https://www.jordan-shoesformen.us.com/ https://www.airjordan5.us/ https://www.ggdbs.us.com/ https://www.nikeoutletstoresonlineshopping.us.com/ https://www.pandorasjewelry.us.com/ https://www.jordans4retro.us/ https://www.nikeshoesforwomens.us.com/ https://www.pandoras.us.com/ https://www.jordan-retro6.us/ https://www.jordan14.us.com/ https://www.pandorajewelryofficialsite.us.com/ https://www.ggdbshoes.us.com/ https://www.shoeslouboutin.us.com/ https://www.jordan9.us.com/ https://www.airjordan3s.us/ https://www.new-jordans.us.com/ https://www.jordan-12.us.com/ https://www.yeezy.us.org/ https://www.air-jordan12.us/ https://www.yeezys-shoes.us.org/ https://www.nike-jordans.us.com/ https://www.nikeair-jordan1.us.com/ https://www.nikeoutletfactorys.us.com/ https://www.ferragamos.us.org/ https://www.jordans-4.us/ https://www.nikesnkrs.us.com/ https://www.jordansretro12.us/ https://www.airforceoneshoes.us.com/ https://www.christian-louboutinheels.us.com/ https://www.jordansshoesforsale.us.com/ https://www.airmax270s.us.com/ https://www.nikeairmax98.us/ https://www.coatsmoncler.us.com/ https://www.ggdbsneakers.us.com/ https://www.nikeshoes-cheap.us.com/ https://www.outletgoldengoose.us.com/ https://www.airjordan1s.us.org/ https://www.nike-airmax2018.us.com/ https://www.nmds.us.com/ https://www.goldengoosesneakerss.us.com/ https://www.valentinosshoes.us.org/ https://www.jordan-8.us/ https://www.jordanretro-11.us.com/ https://www.fjallraven-kanken.us.com/ https://www.jordans-11.us/ https://www.air-jordan6.us.com/ https://www.nikeairmax-shoes.us.com/ https://www.nikeshoesoutletfactory.us.com/ https://www.nikesoutletstoreonlineshopping.us.com/ https://www.jordans1.us.com/ https://www.kyrieirving-shoes.us.org/ https://www.pandora-braceletcharms.us/ https://www.jordan11sshoes.us/ https://www.adidasnmdr1.us.org/ https://www.balenciagatriples.us.org/ https://www.jordan11ssneakers.us/ https://www.retrosjordans.us/ https://www.jordan10.us.com/ https://www.airmax270.us.org/ https://www.newnikeshoes.us.com/ https://www.lebron-shoes.us.com/ https://www.retrosairjordan.us/ https://www.goldengoosesales.us.com/ https://www.jordan1lows.us.com/ https://www.jordanretros.us.com/ https://www.jamesharden-shoes.us.org/ https://www.sneakersgoldengoose.us.com/ https://www.jacketsmoncleroutlet.us.com/ https://www.birkin-bag.us.com/ https://www.nikeoutletshoes.us.com/ https://www.jordansneakerss.us/ https://www.airjordanshoess.us.com/ https://www.jordan13.us.org/ https://www.goldengooseoutletfactory.us.com/ https://www.yeezyonline.us.com/ https://www.jordan12retros.us/ https://www.air-max90.us.com/ https://www.airmax-95.us.com/ https://www.nikeofficialwebsite.us.com/ https://www.outletnikestore.us.com/ https://www.nikefactoryoutlets.us.org/ https://www.yeezys.com.co/ https://www.jordan11low.us.com/ https://www.monclerjacketsstore.us.com/ https://www.christianlouboutinshoesinc.us.com/ https://www.airjordansneakers.us.com/ https://www.newjordan11.us/ https://www.balenciagaofficial.us.com/ https://www.air-jordan6.us/ https://www.jordanshoess.us.com/ https://www.canadapandoracharms.ca/ https://www.air-jordansneakers.us/ https://www.jordanretro11mens.us/ https://www.louboutinshoesheels.us.com/ https://www.adidasyeezysneakers.us.com/ https://www.retro-jordans.us/ https://www.jordanscheapshoes.us/ https://www.pandoraonline.us/ https://www.monclerstores.us.com/ https://www.pandorajewellery.us.com/ https://www.christianslouboutin.uk.com/ https://www.nike--shoes.us.com/ https://www.monclercom.us.com/ https://www.monclervest.us.com/ https://www.jordans11.us.com/ https://www.goldengoosemidstar.us.com/ https://www.air-jordan4.us.com/ https://www.redbottomshoesforwomen.us.com/ https://www.jordans-sneakers.us.com/ https://www.nikesales.us.com/ https://www.fitflop-shoes.us.org/ https://www.yeezys-shoes.us.com/ https://www.airjordan11s.us.com/ https://www.jordan1.us.com/ https://www.air-jordanssneakers.us/ https://www.airjordan4s.us/ https://www.jordan1universityblue.us.com/ https://www.goldengooseshoess.us.com/ https://www.jordansretro3.us/ https://www.nikeairjordan.us.com/ https://www.pandoraringssite.us/ https://www.jordan13s.us/ https://www.air-jordan1s.us.com/ https://www.airjordan6rings.us/ https://www.air-jordans11.us.com/ https://www.pandoracanadajewelry.ca/ https://www.newjordansshoes.us.com/ https://www.adidasyeezysshoes.us.com/ https://www.jordan11red.us.com/ https://www.goldengoosessneakers.us.com/