- 1. PHP引数を使って処理の内容を変えて見ましょう!
- 2. PHPの関数を使ってみよう!
- 3. 基本的なリダイレクトの設定
- 4. + – * / は代数演算子,じゃない
- 5. PHPのループ処理でcontinue、breakを使ってみましょう☆
- 6. EclipseでのPHP開発環境を構築する【Windows10】
- 7. UbuntuにMySQLをインストールして、ApacheのPHPからアクセスするまで
- 8. LINE BOTを使って疑似彼女を錬成するレシピ
- 9. PHPのwhileでループ処理を行いましょう☆
- 10. Ubuntu20.04上のApacheにPHPをインストールする
- 11. PHPのforを使ってループ処理をしましょう★
- 12. オンラインIDEのRepl.itでGoogleニュース検索を作りました
- 13. FuelPHPしか触ったことないPGがLaravelで実装してみた所感
- 14. PHPのswitchで複数条件分岐をしてみましょう!
- 15. PHPの論理演算子を使ってみよう!
- 16. [504 Gateway Time-out エラー対処] データが大きいSQLファイルを、phpmyadminやadminerでインポートする方法
- 17. [PHP 7.4] CSVダウンロード
- 18. phpenvでUbuntu 20.04にphp7.4環境構築
- 19. [チュートリアル]AWSにEC2,RDS,S3の環境を作ってWEBアプリケーションを動かす
- 20. PHPの i f 文を使おう!
PHP引数を使って処理の内容を変えて見ましょう!
#PHP引数
仮引数と実引数を使って関数の処理の内容を変えていきます!以下のコードがあったとします。
“`php:index.php
ターミナルに以下を入力すると…
“`
~$ php index.php
“`
このように出力されます…
“`
~ $ php main.php
・・・・・・・・
・・・・・・・・
・・・・・・・・
おにぎり食べたい!
PHPの関数を使ってみよう!
#PHP関数
書いたコードを見やすくする為に関数でまとめていきます!以下のコードがあったとします。
“`php:index.php
ターミナルに以下を入力すると…
“`
~$ php index.p
基本的なリダイレクトの設定
複数のケースを想定してリダイレクトを書く場合があったので、メモです。
* 下記はよくみるリダイレクト処理です。
* PHPに例えると、`RewriteEngine` は処理の開始宣言、`RewriteCond` は条件文、`RewriteRule` はそこで実行する処理になります。
* `^`はURL正規化の開始フラグです。“`
RewriteEngine On
RewriteCond %{http_host} ^www.example.com
RewriteRule ^(.*) https://www.yahoo.co.jp/$1 [R,L]
“`* 上記のままだと `www` が付いた場合しか考慮できない可能性があるため、 `RewriteCond` を複数行にします。
* RewriteCondに `[OR]` をつけることでいずれか1つに一致した場合は、 `RewriteRule` にある処理を実行することになります。
* 表示には出ませんが、複数ある `RewriteCond` に何も書かない場合は `[AND]` として処理され、すべてのRewriteCond
+ – * / は代数演算子,じゃない
Ruby の初心者向け記事で `+`,`-`,`*`,`/` を「代数演算子」と書いているものをときどき目にしますが,これらは正しくは「算術演算子」です。英語だと arithmetic operators ですね。
なぜ「代数演算子」という誤った用語が広がっているのか分かりませんが,PHP のリファレンスマニュアルでなぜか「代数演算子」となっているので,PHP 界から Ruby 界に入ってきたのかもしれません:
[PHP: 代数演算子 – Manual](https://www.php.net/manual/ja/language.operators.arithmetic.php)上記ページでは冒頭に
> 学校で習った基礎代数を憶えていますか?
とも書かれています。
この英語版は,タイトルが
> Arithmetic Operators ¶
となっており,冒頭の文も
> Remember basic arithmetic from school?
です。
単なる誤訳ではないでしょうか。arithmetic と algebraic を混同しているような気がします:
PHPのループ処理でcontinue、breakを使ってみましょう☆
#☆continue☆
特定の処理の時にループをスキップするには
continueを使っていきます!
以下のfor文があったとします。
“`php:index.php
for ($i = 1; $i <= 5; $i++) { echo $i . PHP_EOL; } ```
ターミナルに以下を入力します!
“`
~$ php index.php
“`
1〜5が出力されます!
“`
~ $ php main.php
1
2
3
4
5
~ $
“`
2だけとばしたいので continue を使います!
“`php:index.php
for ($i = 1; $i <= 5; $i++) { if ($i === 2) { // 2のとき continue; } echo $i . PHP_EOL; } ```
ターミナルで同じく以下を実行すると…
“`
~$ php index.php
“
EclipseでのPHP開発環境を構築する【Windows10】
#環境
Windows10 Pro 21H1 64bit#統合開発環境Eclipseのダウンロード
https://mergedoc.osdn.jp/
1.「Pleiades All in One ダウンロード」から最新版を選択
2.開発言語毎のダウンロードリンクが表示されるので、**PHP**の**Full Edition**を選択しダウンロード:::note info
Full Edition には各言語の処理系も含まれており、自動デフォルト設定機能により既存環境に依存することなく、コンパイラなどのパスが自動でセットされます。特に理由が無ければ、すでにコンパイラなどがインストールされている環境でも Full Edition をお勧めします。
:::#ダウンロードファイルの展開
上記ダウンロードファイルを展開すると、以下のフォルダ、ファイルが配置されます。
(2021/11/01時点)
- pleiades フォルダ
- ┣ .metadata.default フォルダ
- ┣ eclipse フォルダ
UbuntuにMySQLをインストールして、ApacheのPHPからアクセスするまで
#環境
Ubuntu 20.04.3
Apache 2.4.41
PHP 7.4.3#MySQLのインストール
https://qiita.com/houtarou/items/a44ce783d09201fc28f5こちらを参考にしました。
こちらのコマンドを入力します“`shell-session
$ sudo apt install mysql-server mysql-client
“`
##Rootユーザーの設定
“`shell-session
$ sudo mysql_secure_installation
“`|質問|答え|
|–|–|
|Press y|Y for Yes, any other key for No:|y|
|Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2|後述※1|
|Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No
LINE BOTを使って疑似彼女を錬成するレシピ
## はじめに
最近寒くなってきましたね〜、そしてもうすぐクリスマス!
世のカップルを爆撃するのを楽しみにしております ☆ wkwk![depositphotos_320979774-stock-photo-closeup-of-red-baubles-hanging.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/170923/842822db-96a8-a74c-b81c-809f5dc2f579.jpeg)
そんな寂しい僕のお供としてLINE BOTを作ってみましたので、今年のクリスマスは一緒に過ごそうと思います ♡
## 紹介すること・しないこと
**紹介すること**
– アプリケーションの構成
– BOTの仕様
– DB設計
– プログラム、及びその解説
– **採用PR** (ぜひ最後のページまで見ていって下さい!)**紹介しないこと**
LINE DeveloperサイトでのLINEアカウントの作り方は省略させて下さい。すいません > < ## 構成 自前で用意したサーバが
PHPのwhileでループ処理を行いましょう☆
whileを使って条件が満たされている間、
繰返しができるループ処理をしていきましょう!
50点を持っていて、-10ずつ減らしていきます。
“`php:index.php
0) {
echo “あなたの点数は $score です!” . PHP_EOL;
$score -= 10;
}
“`ターミナルに以下を入力します!
“`
~$ php index.php
“`このように出力されます!
“`
~ $ php index.php
あなたの点数は 50 です! // -10ずつ減っていきます
あなたの点数は 40 です!
あなたの点数は 30 です!
あなたの点数は 20 です!
あなたの点数は 10 です!
~ $
“`
Ubuntu20.04上のApacheにPHPをインストールする
###環境
Ubuntu 20.04.3 LTS
Apache 2.4.41#インストール
“`shell-session
$ sudo apt-install php libapache2-mod-php
“`#動作確認
“`shell-session
$ vi /var/www/html/test.php
“`
次の内容を書き込みます。
保存できない場合はこちらの記事を参考に権限設定をしてみてください。https://qiita.com/yuu1111main/items/77976d7ece0ecfb35157
“`php
PHPのforを使ってループ処理をしましょう★
処理の回数が決まっている場合や、
特定の処理を行う時にfor文を使ってループ処理をしていきます!「わーーーぃ!」を7回表示させてみます。
“`php:index.php
オンラインIDEのRepl.itでGoogleニュース検索を作りました
## 0.はじめに
Google ニュースを簡単に検索したくなったので、オンラインIDEの[Repl.it](https://replit.com/)でPHPで検索画面を作ってみました。
Repl.itの説明は、以下の記事あたりに紹介されてます。
[60以上の言語が使用可能なブラウザ実行型IDE – Repl.it – ばいばいバイオ](https://www.kimoton.com/entry/20201115/1605449573)
## 1.実際の画面やコード
Repl.itで実際に動いているので、そちらをご覧ください。
https://replit.com/@basictomonokai1/Google-News-Search
## 2.参考にした記事
ほぼ丸パクリです…
* [google NewsをRSSで取得してjsonで返却するPHPプログラム](https://www.zip358.com/2018/12/22/google-news%E3%82%92rss%E3%81%A7%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6js
FuelPHPしか触ったことないPGがLaravelで実装してみた所感
###はじめに
※FuelからLaravelに乗り換えて、まだシステムの実装途中でこの記事を書いているため、ところどころおかしなことがあると思いますが目をつむってくだされば幸いです。###なぜFuelからlaravelに乗り換えたのか
以前に保守を行っていたシステムでちょっと古いFuelとPHPを使ってました。
そろそろPHPのバージョンを上げなきゃなって時にまさかのFuelの開発が止まっており、最新のPHPのバージョンでFuelが動くのかわからない状態に…
その時は別の優先度が高い案件が入り、ペンディングになっている間にFuelPHPのバージョンがリリース(1.8.2)されわりと新しいPHPのバージョン(7.3系)に対応したため事なきを得ました。
しかしながら、古いPHPのサポート終了は次々とやってきます。なので今後なにか新しいものを作る場合は学習コストを払ってでも、更新が頻繁でモダン的、使用しているユーザーも多くドキュメントが豊富なフレームワークを使おうということになり、Laravelを選択しました。###とりあえず触ってみたが…
PHPのフレームワークはFuelしか触った
PHPのswitchで複数条件分岐をしてみましょう!
複数条件がある時はswitchを使ってコードを書いていきます!
“`php:index.php
PHPの論理演算子を使ってみよう!
PHPの論理演算子で条件をまとめてみましょう!
“`php:index.php
=20) {
if($name === ‘kana’) {
echo ‘素晴らしい!’ . PHP_EOL;
}
}
“`ターミナルで以下を実行すると…
“`
~ $ php index.php
“`
このように表示されました!“`
~ $ php index.php
素晴らしい!
~ $
“`ではこちらの処理をもっと見やすく、
「&&」と言う論理演算子でまとめて書いていきます。
「&&」は、なおかつやandという意味です!
“`php:index.php
$score = 30;
$name = ‘kana’;
if ($score >=20 && $name === ‘kana’) {
echo ‘素晴らしい!’ . PHP_EOL;
}
“`
先程と同じようにターミナルに以下を入力します!“`
~$ php index.php
“`
[504 Gateway Time-out エラー対処] データが大きいSQLファイルを、phpmyadminやadminerでインポートする方法
#はじめに
3GBのsqlファイルをadminerでインポートする際、`413 Request Entity Too Large`や`504 Gateway Time-out`のエラー対処に手間取ったため、方法をまとめます。基本的に、データ量が多いと、`データの送受信の時間を伸ばす`、`データファイル容量の上限を増やす`必要があります。
sqlファイルのインポートに限らず、PHPで実行時の`504 Gateway Time-out`エラー対処に使用できる記事になります。
#前提条件
– DB管理はadminerを使用。phpmyadminでも問題なし
– nginxを使用
– EC2にadminerを導入(以下の記事参考https://qiita.com/holdout0521/items/d559ed8ab24aaaafd876
#sqlファイルのインポート方法
1. adminer.php が配置されているディレクトリ内に、エクスポートしたsqlファイルをそのまま、アップロードします。私の場合、圧縮タイプの`.gz`タイプだとインポートできませんでしたので、ファイ
[PHP 7.4] CSVダウンロード
# コード
“`php:download_csv.php
/**
* CSVダウンロード
*
* @param array $data
*
* @return void
*/
function downloadCsv(array $data) {$fileName = “hogehoge.csv”;
header(“Content-Type: application/octet-stream”);
header(“Content-Disposition: attachment; filename=” . $fileName);
header(“Content-Transfer-Encoding: binary”);$csvStr = “”;
$csvStr = fopen(“php://output”, “w”);// 文字コード変換
stream_filter_append($csvStr, “convert.iconv.UTF-8/CP932//TRANSLIT”, STREA
phpenvでUbuntu 20.04にphp7.4環境構築
2億回くらい同じハマり方をしているので、いい加減にメモ
# 手順
[phpenv](https://github.com/phpenv/phpenv)をセットアップする
“`bash
$ git clone git://github.com/phpenv/phpenv.git ~/.phpenv
“`phpenvにパスを通してphpenvを使えるようにする。
bashrcとかに書いとくといい“`bash
$ export PATH=”$HOME/.phpenv/bin:$PATH”
$ eval “$(phpenv init -)”
“`php-buildのプラグインを追加
“`bash
$ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build
“`phpのビルドに必要なパッケージをインストール
“`bash
$ sudo apt install \
libxml2-dev \
libkrb5-dev \
libssl-dev
[チュートリアル]AWSにEC2,RDS,S3の環境を作ってWEBアプリケーションを動かす
#0. はじめに
「AWSの基礎を理解したいのですがどうしたらいいでしょう?」と知人に聞かれて、「こんなことやってみたらいいんじゃないでしょうか!」と提案したものの、自分ではやったことなかったのをきっかけに作り始めたチュートリアルです。
WEBサービスもサーバレスになっていく時代の流れもありますが、このチュートリアルではAWSを勉強し始めたら最初に出てくるEC2(サーバー)とRDS(データベース)とS3(ストレージ)を使ってWEBアプリケーションを作ることを通して、AWSの基礎を理解することを目的にしています。
筆者も何度も環境を作ったり壊したりするうちに、自然とAWSの理解が進みました。このチュートリアルが、みなさんのAWSの理解の一助になれば幸いです。
また、初心者が書いたチュートリアルですので、抜け落ちや間違い等ありましたらご指摘いただけたらと思います。よろしくお願いいたします。
##自己紹介
* WEBエンジニア2年目(インフラは未経験)
* 2年前にAWSのSAA(ソリューションアーキテクトアソシエイト)という設計の資格は取得したものの、その後AWSにまったく触
PHPの i f 文を使おう!
PHPで条件分岐をしていこう!
“`php:index.php
= 90) {
echo ‘よく出来ました!’;
}
“`macターミナルで以下を実行します!
“`
~$ php index.php
“`ターミナルで以下が実行されました!
“`
~ $ php main.php
よく出来ました!
~ $
“`$scoreを85に変えて、条件を増やしてみましょう!
“`php:index.php
= 90) {
echo ‘よく出来ました!’ . PHP_EOL;
} else {
echo ‘グッド!’ . PHP_EOL;
}
“`ターミナルで以下が実行されました!
“`
~ $ php main.php
グッド!
~ $
“`$scoreを100に変えてさらに条件を増やすと….
“`php:index.php
= 90)