| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

「PHP」の版間の差分

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
57行目: 57行目:
 
  mysql> source /usr/share/phpMyAdmin/sql/create_tables.sql
 
  mysql> source /usr/share/phpMyAdmin/sql/create_tables.sql
 
===Httpd===
 
===Httpd===
[[XAMPP]]
 
 
*/etc/httpd/conf.d/phpMyAdmin.conf
 
*/etc/httpd/conf.d/phpMyAdmin.conf
 
**どこからでもアクセス可能にするには、[[R]]euire all granted
 
**どこからでもアクセス可能にするには、[[R]]euire all granted
 +
 +
[[XAMPP]]の場合
 
<blockquote>Access to the requested directory is only available from the local network. This setting can be configured in the file "httpd-xampp.conf".</blockquote>
 
<blockquote>Access to the requested directory is only available from the local network. This setting can be configured in the file "httpd-xampp.conf".</blockquote>
 
<pre>
 
<pre>

2021年3月9日 (火) 08:52時点における版

| FuelPHP | XAMPP |

PHP

インストール

Ubuntuへのインストール

Apacheと同時にインストール

  1. $ sudo apt install php libapache2-mod-php

CentOSへのインストール

https://weblabo.oscasierra.net/centos7-php71-install/

  1. # yum -y install epel-release
  1. # yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
  2. # yum -y install httpd php74 php74-php
  3. # systemctl enable httpd.service
  4. # systemctl start httpd.service
  5. # vi /var/www/html/info.php
  6. <?php
  7. phpinfo();

phpMyAdmin

  1. $ sudo yum install php-mysqlnd

/etc/yum.repos.d/remi.repo に追記

  • emi リポジトリからインストールする必要のないパッケージが上書きされないよう限定
  1. [remi]
  2. :
  3. includepkgs=phpMyAdmin php-phpmyadmin-sql-parser php-phpmyadmin-motranslator php-phpseclib php-google-recaptcha php-twig-extensions php-symfony-polyfill php-samyoul-u2f-php-server php-pragmarx-google2fa
  1. sudo yum-config-manager --enable remi
  2. sudo yum install phpMyAdmin

phpMyAdmin のインストールが依存関係で失敗する場合PHPのバージョン全体の入れ直し

  1. yum info installed php*
  2. yum remove php*
  3. yum install -y --enablerepo=remi-php74 php php-gd php-intl php-json php-mysqlnd php-mbstring
  4. yum install -y --enablerepo=remi-php74 phpMyAdmin

/usr/share/phpMyAdmin/sql/create_tables.sql の編集

  • 以下コメントアウト
  1. --
  2. -- Privileges
  3. --
  4. -- (activate this statement if necessary)
  5. GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON `phpmyadmin`.* TO
  6. 'pma'@localhost;

MySQL

  • ログイン
  1. # mysql -u root -p
  2. mysql> create user 'pma'@'localhost' identified by 'パスワード'
  3. mysql> source /usr/share/phpMyAdmin/sql/create_tables.sql

Httpd

  • /etc/httpd/conf.d/phpMyAdmin.conf
    • どこからでもアクセス可能にするには、Reuire all granted

XAMPPの場合

Access to the requested directory is only available from the local network. This setting can be configured in the file "httpd-xampp.conf".

  1. $ sudo vi /opt/lampp/etc/extra/httpd-xampp.conf
  2. Require local から all granted に変更

0957 phpmyadmin01.png

Composer

  • https://getcomposer.org/
  • PHPプログラミング言語向けのソフトウェアおよび必要なライブラリの依存関係を管理する標準形式を提供するアプリケーションレベルのパッケージ管理システム*
  • composer.jsonがあるディレクトリ上でcomposer installとするだけで、依存しているライブラリを取得。
  • composer.lockはcomposer.jsonにあるライブラリを取得するのに、実際にどのファイルを入手したかをまとめたもの

PHP Archive (PHAR)

必要な依存コンポーネントがすべて (オプションのコンポーネントの一部も含めて) ひとつのファイルにまとめられています。

PHPUnit

マニュアル

  • HPプログラミング言語用の単体テストを行うためのフレームワークである。 SUnitを起源としてJUnitで一般的になった、xUnitの設計を元にした単体テストのフレームワーク
  • PHPUnitはプロジェクト単位でローカルな依存として管理すべき
  • Composerを使っているならそのプロジェクトで必要とするPHPUnitのバージョンを composer.json に書く

Composerを利用したインストール

  • composer.json に追記
  • composer update でインストール
  1. $ php composer.phar require --dev phpunit/phpunit 9.3
  • composer.json の追記内容
  1. $ git diff composer.json
  2. diff --git a/composer.json b/composer.json
  3. index 61a9404..e7a9b8a 100644
  4. --- a/composer.json
  5. +++ b/composer.json
  6. @@ -16,7 +16,8 @@
  7. "fuelphp/upload": "2.0.6"
  8. },
  9. "require-dev": {
  10. - "fuel/docs": "1.8.*"
  11. + "fuel/docs": "1.8.*",
  12. + "phpunit/phpunit": "9.3"
  13. },
  14. "suggest": {
  15. "dwoo/dwoo" : "Allow Dwoo templating with the Parser package",
  • version確認
  1. $ fuel/vendor/bin/phpunit --version
  2. PHPUnit 9.3.0 by Sebastian Bergmann and contributors.

oilコマンドから利用可能にする

  1. $ cp fuel/packages/oil/config/oil.php fuel/app/config/
  2. $ vi fuel/app/config/oil.php
  3. :
  4. 'autoload_path' => 'PHPUnit/Autoload.php' ,
  5. 'binary_path' => VENDORPATH.'bin/phpunit' ,

プログラミング

基本


  • <?php 〜 ?> に処理を記述
  • 文末はセミコロン
  • 命令文の大文字小文字は区別しない
  • コメント
    • 単一行: // , #
    • 複数行: /* 〜 */

デバッグ

  • print_r() 配列、オブジェクトなどを整形し出力
  • var_dump() 変数の情報を出力

変数


  • $名前形式
  • 名前の先頭は英字か_
  • 大文字/小文字は区別される

可変変数


  • 先頭に$を2つ重ねることで、変数の内容を変数名によって決定する
  • 可変部分を{}で括ることもできる
  1. <?php
  2. $name = 'yagi';
  3. $age = 49;
  4.  
  5. $x = 'name';
  6. echo $$x;
  7. $x = 'age';
  8. echo ${$x};
  9. ?>
  • 結果
  1. yagi49

定数


  • const 定数名 = 値
  • 先頭に$は不要
  • 全て大文字で命名

定義済み定数

定数 意味
__FILE__ 実行中ファイル絶対パス
__DIR__ 実行中ファイルのディレクトリ
__LINE__ 実行中の行番号
__FUNCTION__ 実行中の関数
__CLASS__ 実行中のクラス
__METHOD__ 実行中のメソッド
__TRAIT__ 実行中のトレイト
__NAMESPACE__ 実行中の名前空間
DIRECTORY_SEPARATOR ディレクトリ区切り文字
PATH_SEPARATOR パス区切り文字
PHP_VERSION PHPバージョン

データ型


データ型名称 データ型 概要
論理 bool,boolean true/false

リテラルは大小文字を区別しない。 空文字、0という文字列、0数値、空の配列、null を自動的にfalseとみなす

整数 int,integer 16進(0x)、8進(0)
浮動小数点数 float,double,real
文字列 string リテラルは、引用符または二重引用符で囲む。\でエスケープ。

二重引用符で囲むと、\t や ${変数} を展開する。(引用符では展開しない)

配列 array
オブジェクト object
リソース resource 外部リソース参照
NULL null

キャスト

  • (データ型) 値

ヒアドキュメント


  • <<<デリミタ ー デリミタ;までを文字列リテラルとみなす
  • デリミタをEODとした例
  1. $msg = <<<EOD
  2. this
  3. is
  4. message.
  5. EOD;

配列


  • 生成
  • print_r は配列はオブジェクトなどを見やすく出力
  1. $nums = [1,2,3];
  2. print_r($nums);
多次元配列
  1. $data = [
  2. [1,2,3],
  3. [4,5,6],
  4. [7,8,9]
  5. ];

連想配列


  1. $dict = [
  2. 1 => 'a',
  3. 2 => 'b',
  4. 3 => 'c'
  5. ];
  6. print_r($dict);
  7. $dict[1] = 'A';
  8. print_r($dict);
  • KEYが整数である連想配列と配列に違いはない
  • 配列やオブジェクトをKEYにできない