トップ | puarts.com
「PHP」に関連する記事一覧

0  

タグクラウドをブログに実装してみる

2018/10/20 22:00

このブログにもタグクラウドを実装してみたくなったので タグ ページに実装してみました。折角ですのでタグクラウドの実装にあたって困ったことなどを書いておこうと思います。

    このエントリーをはてなブックマークに追加  

PHP 5.2 から PHP 7.2 への移行

2018/10/20

このブログ、ずっと PHP バージョン 5.2 のままだったのですが、いい加減に時代に置いて行かれそうなので、ブログの PHP 環境を PHP 5.2 から PHP 7.2 に移行しました。どなたかの役に立つかもしれないので、移行時のメモを残しておきます。

    このエントリーをはてなブックマークに追加  

PHP include_once() でたまに文字化けが起きる現象を解消

2018/10/17 23:00

ずっと無視していたのですが、このブログのページ上部に文字化けした文字が出現することがたまにありました。その文字化けの解決方法について記録しておきます。

    このエントリーをはてなブックマークに追加  

PHP 文字列配列から空文字列の要素をすべて削除

2018/10/08 17:00
PHP 

PHP で文字列配列から空文字列を取り除きたいことがよくあるのですが、少し PHP 独特な書き方になって忘れそうなのでメモしておきます。

    このエントリーをはてなブックマークに追加  

PHP ブログ記事からサムネール画像を自動抽出する

2018/10/08 09:00

PHP でブログ記事から記事のサムネール画像を自動抽出できるようになったらサムネール画像登録の手間が省けて楽だなと思い、img タグの src の中身を取得する関数を作ったらうまく自動抽出できるようになったので、ソースコードを載せておきます。

    このエントリーをはてなブックマークに追加  

PHP ブログの関連記事の表示を高速化

このブログ、sqlite と php で表示しているのですが、関連記事の作成がかなりページ表示時間を遅くしていました。具体的には以下のようにデータベースから読み込んだ全記事を記事同士総当たりでタグ比較していくという我ながら残念な実装でした。(アルゴリズムもタグが一つでも含まれれば関連記事としていて、あまりいいものではないですが、今回はスコープ外ということで)

この実装を改善して成果があったので記録しておきます。

    このエントリーをはてなブックマークに追加  

PHP でブログに関連記事機能を追加する

2017/12/03 17:30

このブログ、昔 sqlite と PHP で作ってから、そのままだったのですが、久しぶりに関連記事機能を追加してみました。(個別の記事ページだけに追加)

    このエントリーをはてなブックマークに追加  

PHP::SQLite3でレコード数をカウント

2012/04/19
今個人サイトのデータ数が増えてきたこともあり、PHPとsqliteでデータ管理をしようとPHPとsqliteを勉強中です。今はなぜかJavascriptでデータベースを作って管理をしています。これだと自動更新されないので、ページを更新ボタンで更新しないといけないという問題な状態なので早めに何とかしたいと思っています。PHPとsqliteに関しては超初心者ですが、少しずつ使えるようになっていきたいです。

とりあえずPHP::SQLite3を使ってデータベースのレコード数を数える例をメモしておきます。

my_data_tableというテーブルを持っているdata.dbにアクセスしてmy_data_tableのレコード数をカウントします。


try {

        $db = new SQLite3('data.db');

} catch (Exception $e) {

        print 'DBへの接続でエラーが発生しました。';

        print $e->getTraceAsString();

}



$sql = "SELECT COUNT(*) FROM my_data_table";

$num = $db->querySingle($sql);

print($num.' elements were found.');



$db->close();

    このエントリーをはてなブックマークに追加  

PHP Cプログラマ目線で見る基本的なこと一覧

2012/01/03
PHP 
研究ばかりやっていて嫌になってきたので何か違うことをやろうと思い、前から勉強しようと思っていたPHPを勉強しています。PHPに関しては完全なる初心者ですが、C言語とかなり文法が似ているのですぐ覚えられそうです。

ということで、自分用のメモも兼ねて、CプログラマならPHPやったことなくても、これだけわかればとりあえずPHPが書けるようになるだろうというつもりで基本的なことを列挙します。よってPHP独特の記述法は必要ない限りは省きますのでご了承下さい。

1. HTMLへの挿入の仕方
    <?php
        PHP文
    ?>
 
    というように<?php ~ ?>の~のところにPHPを記述する。
 
2. 標準出力
    C言語と同じでprintf()が使える。特殊文字記号やフォーマットの記述はほぼC言語と同じ。
    他にもprint(), echoなどがあるが、printf()が使えれば問題なし。
    例:
        printf("%d\n", 100);
 
3. 変数定義
    変数名の前には$をつける。型の明示宣言はない。文字列型はstringが標準である。
    型のキャストはCと同じように(型名)で書ける。基本型はint, float, bool, string。
    例:
        $i = 10;
        $b = (bool)$i;
        $f = 1.234;
        $s = "abc";
 
4. 配列
4.1. PHPの配列クラスarrayの構造
    array(キー=>値, キー=>値, ...)という感じで初期化する。
    PHPの配列クラスはキーと値がペアになったHashMap的な構造になっている。
    例:
        $data2 = array("A" => "a", "B" => "b");
        printf("data2['A'] = %s<br/>\n", $data2["A"]);
 
4.2. 通常の1次元配列を作る
    array(要素1, 要素2,...)で配列初期化。実際のデータはキーがインデックスになっているだけ。
    例えばarray("A","B")はarray(0=>"A", 1=>"B")となっている。
    例:
        $data = array("A","B","C");
        print($data[1]);
        // B
 
4.2. 配列に要素追加
    添え字を初期化時のサイズより大きくすると自動でサイズが増える。増えた要素は0で初期化される。
    例:
        $data = array(0,1);
        $data[3] = 3;
        for($i=0; $i<4; $i++){
            printf("%d is %d<br/>\n", $i, $data[$i]);
        }
        // 0 is 0
        // 1 is 1
        // 2 is 0
        // 3 is 3
 
5. 定数定義
    define(文字列, 値)で定数定義
    例:
        define("PI", 3.14159265);
    constで定数定義
    例:
        const PI = 3.14159265;
 
6. 演算子
    PHP独特の書き方もあるが、C言語と同じように書いても問題なし。
    
7. ループ処理
7.1. forループとwhileループ
    C言語と全く同じ
 
7.2. foreach
    foreachで配列の要素を全部ループできる。
    例:
        $ary = array("A" => "a", "B" => "b", "C" => "c");
        foreach( $ary as $key => $value) {
            printf("\$key は%s、\$valueは%s<br>\n", $key, $value);
        }
        // $key is A, $value is a
        // $key is B, $value is b
        // $key is C, $value is c
 
8. 条件分岐
8.1. if文
    基本C言語と同じだがelse ifだけelseifと繋げて記述する
    例:
        $var = 5;
        if($var==5){
            print("var is 5\n");
        }elseif($var==0){
            print("var is 0\n");
        }else{
            print("var is the others\n");
        }
 
8.2. switch文
    C言語と同じ
    
9. 関数定義
    function 関数名(引数){
        処理内容
    }
    で定義、戻り値や引数のデフォルト値, 参照渡しの書き方にはC言語と同じ。
    例:
        function increment(&$val){
            $val++;
        }
        function addValue($val, $add=10){
            return $val+$add;
        }
        $v = 2;
        increment($v);
        printf("val is %d<br/>\n", addValue($v));
        // val is 13
 
10. クラス定義と継承、インスタンス生成
    クラス関連の書き方はC++よりもJavaに似ている感じ。C++やったことがあれば例を見ればだいたいわかるはずなので説明省略します。
    例:
    class BaseClass{
        private $val1 = 1;
        function BaseClass($val){
            $this->val1 = $val;
        }
        function getVal1(){
            return $this->val1;
        }
        function printValue(){
            printf("val1 = %d<br/>\n", $this->val1);
        }
    }
    class SampleClass extends BaseClass{
        private $val2 = 2;
        function SampleClass($val){
            $this->val2 = $val;
        }
        function getVal2(){
            return $this->val2;
        }
        function printValue(){
            printf("val2 = %d<br/>\n", $this->val2);
        }
        function printBoth(){
            parent::printValue();
            $this->printValue();
        }
    }
    $cl = new SampleClass(10);
    $cl->printBoth();

11. コメントアウト
    C言語と全く同じで
    部分的コメントアウト /* */
    一行コメントアウト //

やはりWebでは動的なことができると非常に便利ですね。こんなに簡単にPHPが習得できるなら、もっと早くに手を出しておけば良かったと思います。WebサイトもPHPでもっと効率よく更新できる体制を整えたいです。

参考URL
http://www.scollabo.com/banban/php/
    このエントリーをはてなブックマークに追加  

PHP 命名規則ざっくり一覧

2012/01/03
PHP 
新しい言語でプログラムを書き始める前に命名規則を知っておくのは大事なことです。

PHPの命名規則に関してこちらのサイトを参考にさせていただきました。
http://framework.zend.com/manual/ja/coding-standard.naming-conventions.html

ということでここにもかなりざっくりですがPHPの命名規則を列挙します。
 
クラス名
  PascalCase(CamelCase) 
  例: MyClass, MyImage
 
メソッド名
  accessorはgetから始まるcamelCaps
  例: getName, getItem
  mutatorはsetから始まるcamelCaps
  例: setName, setItem
  private, protectedで宣言されているものはアンダースコアで始める
  例: _initFields()
 
関数名
  camelCaps
  例: myFunction, getResult
 
変数名
  camelCaps
  例: $i, $resultValue
 
定数名
  アンダースコア区切りですべて大文字
  例: MAX_LENGTH_OF_NAME, VALUE_TYPE_A
 
ファイル名
  クラス名に対応
  クラス名がTest_Mathならファイル名はTest/Math.php
    このエントリーをはてなブックマークに追加  
0  

にほんブログ村 デザインブログ グラフィックアートへ

0.0288 sec

Copyright(C)2006-2018 wsp All Rights Reserved