プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • PHP
  • 【PHP】「リリースノート」、「php.ini」、「composer」、「セッション」、「…
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【PHP】「リリースノート」、「php.ini」、「composer」、「セッション」、「クッキー」など

04.04

  • miyabisan2
  • コメントを書く

この記事は3分で読めます

リリースノート

リリース年月バージョン説明
1995年1.0GPLの下でPHP Toolsを公開した。
1998年3.0GPLとPHP Licenseとのデュアルライセンスで公開した。
2000年4.0PHPのプログラミング言語を処理するコア部分の再設計を行った。(Zend Engine)、またより多くのWebサーバサポートの機能拡張を行った。
コード発展の妨げを排除するためGPLは除外された。
2004年7月5.0オブジェクト指向を本格的にサポートし始めた。
2006年11月5.2クラスのオートロードが追加された。(それまでのPHPにありがちな大量のrequireと縁を切ることが可能になった。)
2009年6月5.3名前空間、クロージャ、遅延静的束縛、GC改善、MySQLndが導入された。
2010年3月6.0Unicode対応を目指したが多くの問題があり断念した。
2012年3月5.4Traits、高速化、MB標準化、レガシー機能削除、ビルドインサーバー機能が実装された。他のWebサーバーを導入しなくても開発できるようになった。また、6で目指していたUnicodeもここで盛り込まれた。
2013年6月5.5ジェネレータ、キャッシュ、パスワードハッシュが導入された。
2014年5.6対話式デバッガがSAPIとして組み入れられた。2018年12月をもってセキュリティ対応サポートも終了した。
2015年7.0前バージョンの5.6に比べて内部エンジンをZend Engine3とした。かなり速度が向上した。(25~70%の性能アップ)、戻り値型宣言、スカラー型宣言導入。
2017年7,2さらに速度が向上している。
2020年11月8.0

ビルドインサーバー機能とは?

PHP5.4から内蔵されているサーバー機能のことです。あくまで動作確認用のサーバであり本格的な運用に耐えうるサーバーではありません。

php.ini

PHPのバージョンフォルダにあるPHPの設定ファイルです。

よく使う項目

ログ関連

設定項目説明
error_reportingエラーのレベル
display_errorsブラウザ上にエラーを表示するかの設定(On/Off)
log_errorsエラーログを吐く設定(On/Off)
error_logエラーログを吐くファイルの設定

タイムゾーン

設定項目説明
date.timezone東京等

マルチバイト

設定項目説明
default_charsetUTF-8等
mbstring.languageJapanese
mbstring.internal_encodingUTF-8
mbstring.encoding_translationOn/Off
mbstring.http_inputpass
mbstring.http_outputUTF-8
mbstring.detect_orderauto

セッション関連

設定項目説明
session.nameセッション名
session.autostartセッションを自動開始するか、「1:有効/0:無効」

composer

composerはPHPライブラリの使用を管理してくれる便利ツールです。

もともとPHPで書かれたライブラリはPEARを利用してシステムワイドにインストールすることが多かったです。ただ、2012年にRubyのbundlerやNodeのnpmに影響を受けて似たようなパッケージ管理ツールとして登場しました。

composerのメリット

必要な他のライブラリも一緒にまとめてダウンロードして配置してくれます。ない場合は自分で一つ一つ探してインストールする必要があります。

composer.phar

composerをpharでアーカイブ化したものです。phar-composerコマンドでビルドして作成が可能です。

そもそもpharとは?

複数プロジェクトからなるPHPプロジェクトをまるごと1ファイルに固めたアーカイブファイルです。PHPスクリプトだけでなく任意のファイルも内包できます。

autoload

composerでautoloadを利用すると特定のディレクトリを名前空間として定義する事が可能です。autoloadを使わない場合は通常のPHPと同様にrequire_onceで外部PHPファイルを読み込む必要がありますが、autoloadを使用した場合はnamespaceで一括でファイルを読み込むことができます。

1
2
3
4
5
6
7
{
    "autoload": {
        "psr-4": {
            "名前空間名\\" : "ディレクトリ名/"
        }
    }
}

呼び出す側のファイル名に下記の記述をします。

1
use 名前空間名\ファイル名;

おすすめライブラリ

Carbon

PHPでDateTimeクラスを継承した日付を操作しやすくするためのライブラリです。

PHPでセッションを使うには?

セッションを使いたい場合はPHPファイルの先頭に下記の宣言をします。

1
session_start();

セッションに値を設定する。

1
$_SESSION['キー名'] = 値;

セッションに値が設定されているかチェックする。

isset関数を使います。

1
2
3
if(!isset($_SESSION['キー名'])){
  処理
}

セッションから値を削除する。

必要なくなったらできるだけセッションに情報は残さない方が良いので削除しましょう。

1
<?php unset($_SESSION['キー名']); ?>

セッションを破棄する。

1
session_destroy();

クッキー

クッキーはセッションを作成したタイミングで下記の変数に格納されます。

1
$_COOKIE

中身は連想配列で下記のように値が入っています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
array(6) {
  ["experimentation_subject_id"]=>
  string(94) "IjlhM2NlZmQzLWI5MzEtNGQzMy1hMmZkLTU3MDIzMGNiMGNlMiI=--1456c72edd2a2909dccdcdfc5052b287761f9370"
  ["sidebar_collapsed"]=>
  string(5) "false"
  ["ajs_group_id"]=>
  string(4) "null"
  ["ajs_user_id"]=>
  string(28) ""ziuuxsqztibk8jkxjswaieke6w""
  ["ajs_anonymous_id"]=>
  string(28) ""00000000000000000000000000""
  ["PHPSESSID"]=>
  string(26) "crliesnis9fjtkrqcr2a1qogbv"
}

PHPSESSID

セッションIDになります。

クッキーに値を設定する。

1
setcookie('設定値', '',, '/');
スポンサーリンク
  • 2020 04.04
  • miyabisan2
  • コメントを書く
  • PHP
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2023 10.02

    【PHP】デバッグ方法まとめ

  2. 2020 05.05

    【PHP】「変数」、「定数」、「配列」、「連想配列」、「条件分岐」、「論理演算子」、「ファイル操作」

  3. 2023 10.02

    【FuelPHP】概要

  4. 2020 05.04

    【PHP】「関数」(文字列操作関数など)、クラス

  5. 2020 05.04

    【PHP】フォームのセキュリティ対策

  6. 2020 05.05

    【PHP】データベース接続(PDO)について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Laravel】「ディレクトリ構成」、「初期設定ファ…

【Vue.js】「v-if」、「v-show」ディレク…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー