カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

interface, implements, abstract

・interface(インターフェイス)
備えているべき機能(メソッド)の名前
抽象メソッドを定義

・implements(実装)
interfaceで定義された全機能(メソッド)のオーバーライド(Override)で定義が必要

・abstract修飾子
抽象メソッドの定義時に使用
省略可

1,596 views

WORDPRESS テーマ作成

公式リファレンス、検索でヒットしたブログを参考にテーマを作成。
デザインは至ってシンプル。
ウィジェットはどうしても使いたかったので、ウィジェット領域を7箇所設けた。

続きを読む…»

2,175 views

apache_note [PHP]

Apacheのログに好きな情報を出力させる。

例)

$val = "hogehoge";
apache_note("originallog", $val);

Apache httpd.confにログフォーマット設定
LogFormat "%h %l %u %t \"%r\" %>s %b %{originallog}n" common

出力結果
192.168.212.51 - - [20/Jul/2005:21:39:03 +0900] "GET /index.php HTTP/1.1" 200 735 hogehoge
1,879 views

XMLをPHP1行で解析

foreach(simplexml_load_file("ファイルのパス")->item as $it) echo $it->description
1,284 views

PHPでXMLファイルの解析

まずはXMLのサンプル

<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:admin="http://webns.net/mvcb/"
  xml:lang="ja">
  <channel rdf:about="http://www.example.jp/test.rdf">
    <title>title</title>
    <link>http://www.example.jp/</link>
    <dc:date>2006-07-06T20:14:34+09:00</dc:date>
    <description>description</description>
    <admin:generatorAgent rdf:resource="http://www.infomaker.jp/editorlite/?v=0.92b" />
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://www.example.jp/#he20060706"/>
      </rdf:Seq>
    </items>
  </channel>

  <item rdf:about="http://www.example.jp/#he20060706">
    <title>test</title>
    <link>http://www.example.jp/</link>
    <dc:date>2006-07-06</dc:date>
    <description>description</description>
  </item>

</rdf:RDF>

PHPで解析します。

// XMLファイルを読み込みインスタンスを生成
$xml = simplexml_load_file("ファイルのパス");
//$xml = new SimpleXMLElement("ファイルのパス", null, true); // この書き方でも可

// channel要素がある場合
//$channel = $xml->channel;
// 下のforeach取り出し元配列を$channel->itemに変更

foreach($xml->item as $item) {

    // 各内容を変数に格納
    //{
        $url         = $item->link;
        $title       = $item->title;
        $description = $item->description;

        // Namespace付の子要素を取得
        //{
            // childrenメソッドにて取得(引数のURLはxmlns:dc=[URL]から取得)
            $dc = $item->children('http://purl.org/dc/elements/1.1/');

            $date = date("Y-m-d", strtotime($dc->date));
        //}
    //}

}

dcとは?

Dublin Coreの略。
Dublin Coreモジュールとは、標準的なメタデータ記述要素として用いられるDublin CoreのDCMESを利用するモジュールです。

2,486 views