PHP / DB 社内ルール v0.1
2017/05/29 by Shin (shin@accorder.co.jp)
【PHPファイル名の付け方】
Blog.class.php <-- classは、class.phpをファイル名に記入。
Smarty/Smarty.class.php <-- ファイル名変えない。
jQuery / JS 社内ルール
jQuery / JS 社内ルール v0.1
2017/05/29 by Shin (shin@accorder.co.jp)
【jQuery/jsファイルの保存】
jQueryなどカスタマイズが不要なファイルはいいが、基本的に全てのjQuery/jsファイルは、directoryが必要。
良い例)
/js/jquery.js <– jQuery
/js/common.js <– 全ページで使う js
/js/colorbox/jquery.colorbox.js
/js/colorbox/colorbox.css
/js/colorbox/colorboxSet.js
/js/colorbox/images/border.png
/js/colorbox/images/loading.gif
悪い例)
/js/jQuery2.2.4/jquery2.2.4.js <– jQueryだけでいいです。他の情報不要です。
/js/common.js <– 全ページで使う js
/js/colorbox/jquery.colorbox-min.js <– minは使いません。
/js/colorbox/colorbox-min.css <– minは使いません。
/js/colorbox/colorboxSet.js
/images/colorbox/border.png <– jsに入れてください。
/images/colorbox/loading.gif <– jsに入れてください。
/js/jquery.heightLine.js <– directoryの中に入れて下さい。
【dist と src が両方入っている場合】
dist と src が入っているjqueryのライブラリーも多いと思います。 distだけ入れて下さい。 distの中に、minが入っていれば、minではない方を入れてください。【Google Analyticsのコード】
必ずheadの開始タグの下に入れて下さい。
<head> <!-- Google Analyticsは、ここです -->
【括弧の書き方】
functionやif文などを作成するとき、 区切るところが分かりやすくなるよう、以下のように空白スペースを必ず入れてください。sample1(var_a, var_b)までがセットです。
function sample1(var_a, var_b) { //... }if(a != b)までがセットです。
if(a != b) { //... } else { //... }
HTML5 tag flowchart
英語ですが、いいなと思いました。
Smarty基礎
Smartyは、PHPのテンプレートエンジンです。
公式日本語サイト:http://www.smarty.net/docsv2/ja/
PHPとHTMLが1つのファイルになっていると、エンジニアも、コーダーも大変です。
なぜかというと、コードも読みにくいし、一緒に作業も出来ません。
間違ってエンジニアがコードを触ってレイアウトが崩れたり、コーダーがphpの部分を触ってエラーに繋がったり、様々な問題が現れます。
これを防ぐための1つの方法が、テンプレートエンジンです。
Smartyは、基本的に TPL ファイルで保存します。
他にもコンパイルフォルダーが必要です。
サーバーによって、777にしないといけない場合もありますが、基本的に757です。
Smartyの設置は SHIN の方で行いますので、気にしなくてもいいですが、
使い方はコーダーでも覚えて欲しいので、以下を中心に学んで下さい。
phpからのデーターを出力したい phpの方で、処理した結果をテンプレート(以下、tplで書きます)に渡します。
渡されていない値は表示出来ません。渡されたデータのみ出力が出来ます。
どうするのかですが、PHPの方は以下のようになっています。
PHP:
例えば、phpから、$my_date = “20170503 12:34:59”;というデータを貰った場合、日本風の日付に変えたい場合:
最後にincludeです。
例)/accorder/tpl/base_header.tplのヘッダーを別のテンプレートで作成され、利用する場合:
例)/accorder/blog/tpl/blog_header.tplのヘッダーを別のテンプレートで作成され、利用する場合:
修正も1回で済むので楽になります。 以下、公式サイトと、アコーダーのSmartyの違いです。
jQueryなどとの問題もあり、{$variable}を{{$variable}}に変えました。
入力の文字を減らすため、templates を tpl に変え、templates_c を tpl_c に変えました。
公式サイトで確認するときは、間違いないようにお願いします。
公式日本語サイト:http://www.smarty.net/docsv2/ja/
PHPとHTMLが1つのファイルになっていると、エンジニアも、コーダーも大変です。
なぜかというと、コードも読みにくいし、一緒に作業も出来ません。
間違ってエンジニアがコードを触ってレイアウトが崩れたり、コーダーがphpの部分を触ってエラーに繋がったり、様々な問題が現れます。
これを防ぐための1つの方法が、テンプレートエンジンです。
Smartyは、基本的に TPL ファイルで保存します。
他にもコンパイルフォルダーが必要です。
tpl/index.htmlをスマーティ化する場合は、基本的に以下のようになります。
index.php tpl/index.tpl tpl_c/このまましてみたのに、動かない場合、tpl_cのパーミッションが757になっているか確認してみてください。
サーバーによって、777にしないといけない場合もありますが、基本的に757です。
Smartyの設置は SHIN の方で行いますので、気にしなくてもいいですが、
使い方はコーダーでも覚えて欲しいので、以下を中心に学んで下さい。
phpからのデーターを出力したい phpの方で、処理した結果をテンプレート(以下、tplで書きます)に渡します。
渡されていない値は表示出来ません。渡されたデータのみ出力が出来ます。
どうするのかですが、PHPの方は以下のようになっています。
PHP:
$my_name = "shin"; $smarty->assign('my_name', $my_name);TPL:
<h1>My name is {{$my_name}}.</h1>結果:
My name is shin.次は、配列の場合です。 PHP:
$smarty->assign('Contacts', array('fax' => '555-222-9876', 'email' => 'shin@accorder.co.jp', 'phone' => array('home' => '555-444-3333', 'cell' => '555-111-1234') ) );HTML:
FAX: {$Contacts.fax}<br> EMAIL: {$Contacts.email}<br> Phone(h): {$Contacts.phone.home}<br> Phone(c): {$Contacts.phone.cell}<br>結果:
FAX: 555-222-9876 EMAIL: shin@accorder.co.jp Phone(h): 555-444-3333 Phone(c): 555-111-1234次は、PHPから貰ったデータを可変してみましょう。
例えば、phpから、$my_date = “20170503 12:34:59”;というデータを貰った場合、日本風の日付に変えたい場合:
{{$my_date|date_format:"%Y年%m月%d日"}}結果:
2017年5月3日簡単に言うと、{{と}}に囲まれた変数の次に縦棒を入れ、コマンドを入れれば、わざわざPHPで処理しなくても Smarty の方で変えてくれます。
{{$変数|ここに変えたい処理を入れる}}日付だけではなく、文字制限、全て大文字にする、全て小文字にするなどは、よく使われています。
最後にincludeです。
例)/accorder/tpl/base_header.tplのヘッダーを別のテンプレートで作成され、利用する場合:
{{include file="$document_url/tpl/base_header.tpl"}}$document_urlは、shinの方で作成しておくので、入れておけば適切な値が入ります。
例)/accorder/blog/tpl/blog_header.tplのヘッダーを別のテンプレートで作成され、利用する場合:
{{include file="$document_url/blog/tpl/blog_header.tpl"}}このように、ヘッダーやフッターなどをテンプレート化しておくと、
修正も1回で済むので楽になります。 以下、公式サイトと、アコーダーのSmartyの違いです。
jQueryなどとの問題もあり、{$variable}を{{$variable}}に変えました。
入力の文字を減らすため、templates を tpl に変え、templates_c を tpl_c に変えました。
公式サイトで確認するときは、間違いないようにお願いします。
公式 | アコーダー |
---|---|
{$variable} | {{$variable}} |
templates | tpl |
templates_c | tpl_c |
Chromeで印刷用CSSのスタイルを確認する方法
- Chrome DevToolsを開く(⌘ + ⌥ + I)
- DevToolsの右側のメニューをクリックします
- 「More tools」から「Rendering settings」を選択します
- 「Emulate print media」にチェックを入れます
DevToolsを開いたら
esc
キーでConsoleを開いて、左端のメニューから「Rendering settings」を選ぶという方法もあります。