2017年5月22日月曜日

PHP開発時の環境設定(サーバー編1)

先日から、PHP自体の説明や、
関数のリファレンスを紹介していますが、
これらをテストするやり方も必要でしょうし、
また、覚えるためには実際に自分で作って、動かしてみるのが重要かと。

ただし、
HTMLだけの文書は、テキストエディタ等で作成・保存し、
InternetExplorer等のブラウザで開けば、
ちゃんとHTMLタグを解釈して表示してくれますが、

このPHPという言語に関しては、

サーバーサイドスクリプト

という、Webサーバ内で、言語の処理内容を受け取り、
結果をブラウザに返す、
という言語であるため、
サーバーの無い状態では動きません。

仮に自分のPCで開発、結果を確認したい場合、

自分のPCの中にWebサーバーを立てるか、
PHPを動かせます、とされている、レンタルサーバーを借りるかしないといけません。

ざっくりと言えば、

PHP開発は、書くだけは自分のPCでもメモ帳で書けるが、
実際に動かすにはサーバーが必要

ということになります。



次回はこの、それぞれのPHPを動かす手法を少し解説しようかと思います。

定数について

こんばんは、燃えPaPaです。
今回は、PHPにおいて基本に当たる、定数について解説します。

定数とは、

格納された値が何らかの計算によって変わるということのない値となります。

つまり、格納された値は常に同じ値を保持しています。
(その実行PHP中で)

PHPでは、定数を定義するためには、
define()関数を使い、定数名とその値を引数とします。

書式は以下になります。

define("定数名", "値" );

define()関数とは、ある値を定数に定義するもので、

定数以外の変数は、その値を変化させることができます。

プログラム中に、ある値の中身を変えたくない場合には「定数」を定義しておくと便利です。
巨大なシステム等では、読み込みの設定ファイル内で、
サーバー名や、システムの名前等、先に定義しておきたいものを宣言して、
定数として使う場合が多いです。


書き方例

define("TITLE", "社内SNS" );
print(TITLE); // 社内SNS と表示される
?>


簡単ながら、定数の解説はこのようなところになります。
また、定数と同様に使う、変数に関しても解説するようにします。

mb_strimwidth -指定した幅で文字列を丸める

mb_strimwidth

対象文字列を指定バイト数で切って、末尾に指定文字をつなぎ、丸める関数です。


使い方

string mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encoding ]] )

str
丸めたい文字列。

start
開始位置のオフセット。文字列の始めからの文字数 (最初の文字は 0) です。

width
丸める幅。

trimmarker
丸めた後にその文字列の最後に追加される文字列。

encoding
encoding パラメータには文字エンコーディングを指定します。省略した場合は、内部文字エンコーディングを使用します。


返り値
丸められた文字列を返します。 trimmarker が設定された場合、 trimmarker が丸められた文字列に追加されます。


例:
echo mb_strimwidth("Hello World", 0, 10, "...";
// Hello W... と出力します
?>

phpinfo

PHPの基本

まず、最初にこの関数を覚えて、使ってみると、
PHPが動くことの確認ができ、
ついでに動かしているPHP環境の細かい設定もわかるという関数です。

phpinfo()

この関数を使うと、特にecho等せずとも、
現在のphpの環境設定がすべて表示されます。

php.iniを見て現在の細かい設定を確認するくらいなら、
この関数で詳細を確認しましょう。

使い方

phpinfo();
?>

これだけで表示されます。

PHPの利用方法

こんばんは、
燃えPaPaです。

先日より、さまざまなPHPの構文等ご説明していますが、
他、今後はPHPの利用方法についてもご説明していこうと思います。

基本的には、
サイト作成のフロントのページを作る際に利用していきます。

サイトを作成する際に、
すべてHTMLファイルを手打ちで作っていきますと、
ページ数増えてきますと、

例えば、メニューですとか、
サイドバーですとか、共通動作する部分を、
もし変更したい、という場合、すべてのファイルを直すのは大変です。

そのような場合、メニューやサイドは、
PHPであるひとつのソースを読み出す形式にしておくと、
ひとつの修正で、すべてを一括で変えることができ、
大変便利です。


燃えPaPa

HTMLも大事で

PHPを身につけてくると、
どうしても切れないのが、
HTML知識

本当に会社等で分業で、
ごくごく一部の動作に関わるPHPのみ作ればいいような状況ならば、
PHP知識のみでもよいのですが、

やはりWEBアプリケーションとして、
サイトの一部に埋め込んで使ったりしますので、
多少なりともHTML知識は必要になります。

このHTMLリファレンスでも解説しておりますが、
それなりに知識はあった方がよいかと


燃えPaPa

サーバーも大事

こんばんは、燃えPaPaです。

のちにちゃんと説明しますが、
PHPを学んでも、
実践するには、
PHP動作する環境(サーバー)が必要でして、

無料のサーバーを借りて、開発環境整えよう、などとした場合、
運が悪いと、時折PHP使用不能の場所があったりします。

その場合、お手数ですが、
動作するサーバーを探さなくてはいけなく、

よろしければ、
別途サーバー情報紹介ブログ
サーバーの案内もしてますので、
ご参考にしてください。


燃えPaPa

printとechoの違い

先日紹介しました、
echo()
と print() ですが

文字列を表示する、という動作は、echo print ともにほとんど変わりません。

若干の違いは以下のようになります。

1.
echo()はカンマ区切りで複数の文字列を指定できるのに対し、print()はできません。
print "Hello","World"; // この構文はエラーが出ます。
echo "Hello","World"; // こっちは正しい構文です

※echo()文で括弧「()」をつけた場合、カンマ「,」区切りでの複数指定はできません。括弧「()」で括って複数指定するとエラーが出ますので注意して下さい。

2.
print()は結果を返しますが、echo()は返しません。
$output = print "Hello World"; // こっちは出力されます
$output = echo "Hello World"; // この構文はエラーが出ます

3.
結果を返さない分、わずかにecho()の方が早いようです。

print

前回紹介しました文字出力の関数echo
とほとんど同じですが、こちらも画面に文字を出力する関数になります。

使い方は数パターンありますが、
以下のように、print の後ろに文字列を示すことで、画面にその文字列が出力されます。


$x = 111;
print $x;
print($x);
print "hello world";
print 'hello world';
print ("hello world" );

print "" target="_blank">http://moepapa.dtiblog.com/">PHPリファレンス";

print <<< TEST
これがヒアドキュメントという書き方で、
このように複数行にまたがって記述できます。
右上の「TEST」は任意で付けてよく、終わりにも付けます。
<<<で始まり、;で終わる間をすべて文書として画面に出力します。
間では、数字が先頭ではだめ、空白、タブも不可、コメント等も不可です。
TEST;
?>

これらはすべてprintを用いて、画面に文字を出力します。
途中リンク形式の文書を出力するところで、
" としていますが、
PHPのechoやprintで画面に文字を出力する際に、" や  $ のように、本来PHPで意味を持つ記号を文中に入れてしまうと、プログラム動作してしまい、画面には記号が出力できません。
その場合は、エスケープ処理と言って、
その出したい文字の前に  を入力することで、画面に出力できます。

2017年5月2日火曜日

ponta気づかず登録

こんばんは、燃えPaPaです。

そういえばpontaカード、持ってなかったし、
持ってたら便利かなぁ、と思い申し込もうと思ったら・・・

驚きの、すでに会員でしたw

登録した覚えがないので、おそらく、他のサービス登録した際に、
同じ個人情報で、Pontaも登録する、的なもので入ったのかな、と思いますが・・・
自分で気づいていなかったとはw

そして、気づかなかった理由として、
会員登録は済んでいるのに、
なんとまあ、Pontaカードが手元にないw

無料のカードなのに、わざわざ発行申し込みしないといけないようです。

まあ、気づいて申し込んだので、遠からず手元にくるでしょう。


燃えPaPa