ラベル php の投稿を表示しています。 すべての投稿を表示
ラベル php の投稿を表示しています。 すべての投稿を表示

2012年3月16日金曜日

DBからのタイムスタンを年月日

date('Y.m.d',strtotime($accessData[$key]['jsk_update_date']));


2012年2月20日月曜日

php ture false nullて

$hantei_txt = array(
array("","ダブルクオート空文字")
,array('',"シングルオート空文字")
,array(0,"数値ゼロ")
,array(1,"数値1")
,array(01,"数値01")
,array("0","文字列ゼロ")
,array("1","文字列イチ")
,array(TURE,"ture")
,array(FALSE,"false")
,array("TURE","文字列 ture")
,array("FALSE","文字列 false")
,array(null," NULL")
,array("null","文字列NULL")
);
$count_num = count($hantei_txt);
for($i = 0; $i < $count_num; $i++){ if($hantei_txt[$i][0]){ echo $hantei_txt[$i][1]."="; echo "hit"; }else{ echo $hantei_txt[$i][1]."="; echo "none"; } echo "
";
}

ダブルクオート空文字=none
シングルオート空文字=none
数値ゼロ=none
数値1=hit
数値01=hit
文字列ゼロ=none
文字列イチ=hit
ture=hit
false=none
文字列 ture=hit
文字列 false=hit
NULL=none
文字列NULL=hit

2012年1月16日月曜日

smartyで文字列加工

修飾子

変数が空の場合のデフォルト値

{"test1"|default:"????"}

{""|default:"????"}


エスケープ

{""}

{"''"|escape}

htmlタグの削除

{"test"|strip_tags}

時間

{$smarty.now}
{$smarty.now+60*60*24|date_format:"%w"}

{$smarty.now|date_format:"%Y年%m月%d日%h時%M分%S秒"}

改行文字を変換
{$data|nl2br}
スペース
を変換


{$data|strip:""}

テンプレート内で変数を生成

{assign var="num" value="99999"}
テンプレート内の値は{$num}

smarty オブジェクトで操作

require_once('MySmarty.php');
require_once('user_bean.php');

$uses=array();
$uses[] = new user_bean(1,"test_1","2011/01/01");
$uses[] = new user_bean(2,"test_2","2010/01/01");
$uses[] = new user_bean(3,"test_3","2009/01/01");
           
$mysmarty = new MySmarty();
$mysmarty->assign('msg','hello MySmarty');
$mysmarty->assign('uses',$uses);
$mysmarty->display('index.tpl');
?>
//beanクラス
<?php
class user_bean{
    //プロパティ
    public $name;
    public $id;
    public $birth;
    //メソッド
    function __construct($id,$name,$birth){
        $this->id = $id;
        $this->name = $name;
        $this->birth = $birth;
    }
    public function getage(){
        return floor((time()-strtotime($this->birth))/(60*60*24*365));
    }
}
?>

//テンプレート
{foreach from=$uses item=use}
    <p>id {$use->id}</p>
    <p>名前 {$use->name}</p>
    <p>歳 {$use->getage()}</p>
{/foreach}

Smarty 連想配列

//プログラム
<?php
require_once('MySmarty.php');
require_once('DB.php');


$dbh = DB::connect('mysql://root:mysql@127.0.0.1/test');

$data = array(    "id"    =>    1,
                "shimei"=>array("ue"=>"yamada",
                                "shita"=>"taro")
              );               
$mysmarty = new MySmarty();
$mysmarty->assign('msg','hello MySmarty');
$mysmarty->assign('data',$data);
$mysmarty->display('index.tpl');
?>
//テンプレート
<h1>{$msg}</h1>
{$data.id}<br />
{$data.shimei.ue}<br />
{$data.shimei.shita}<br />

//表示

hello MySmarty

1
yamada
taro

Smarty DBからレコードを取り出し、テンプレート表示 テスト

mysql> insert into test_1(id,name) values(1,'test'),(2,'test2');
Query OK, 1 row affected (0.05 sec)

//レコードの確認
mysql> select * from test_1;
+------+-------+
| id   | name  |
+------+-------+
|    1 | test  |
|    2 | test2 |


//プログラム
<?php
$dbh = DB::connect('mysql://root:mysql@127.0.0.1/test');

//sql文の作成
$sql = $dbh->prepare("SELECT * FROM test_1");
$data = array();
$rs = $dbh->execute($sql);
//配列へ挿入
while($row = $rs->fetchRow(DB_FETCHMODE_ASSOC)){
    $data[]=array("id" => $row['id'],"name"    => $row['name']);
}

$mysmarty = new MySmarty();
$mysmarty->assign('msg','hello MySmarty');
$mysmarty->assign('data',$data);
$mysmarty->display('index.tpl');
?>
//テンプレート部分

<h1>{$msg}</h1>
{foreach from=$data item=datum}
    <p>{$datum.id}</p>
    <p>{$datum.name}</p>
{/foreach}



2012年1月11日水曜日

phpとmysqlでテーブルの存在確認

<?php
    $host = "localhost";
    $user   = "root";
    $pass = "mysql";
    $db = "test";
 $con = mysql_connect($host,$user,$pass) or die("db接続NG");
 print "db接続OK";
//テーブルチェック関数の呼出
    if(table_exists($db,'item',$con)){
     print "item table hit";
    }else{
     print "item table none";
    }
 mysql_close();


// テーブルの存在チェック関数の定義  start
 function table_exists($db_name,$tbl_name,$db)
 {
  // テーブルリストの取得
  $rs = mysql_query("SHOW TABLES FROM $db_name");
  while($arr_row = mysql_fetch_row($rs)){
    if(in_array($tbl_name,$arr_row)){
      return true;
    }
  }
  return false;
 }
// テーブルの存在チェック関数の定義  end
?>

2011年11月11日金曜日

サッサと PHP5のクラス定義解説

クラス定義
<?php
class Hoge{
}
?>
new Hoge();

コンストラクタ
<?php

include 'Debug_Show.php';


class Hoge{
    function Hoge(){
        print "コンストラクタです";
    }

}

new Hoge();

クラスメソッド
<?php

class Hoge{
    static function calc($str){
        print $str;
    }
}
Hoge::calc("クラスメソッド");
クラス変数
<?php

Class Hoge {
    static $str = "クラス変数";

}

print Hoge::$str;


メンバー変数
<?php

Class Hoge {
 public $a = "メンバー変数";
}

$hoge = new Hoge();
echo $hoge->a;

メソッド

<?php

Class Hoge {
    function calc(){
        print 1+1;
        print "メソッド";
    }
}

$hoge = new Hoge();
echo $hoge->calc();


クラス定数
<?php

Class Hoge {
    const STR = "クラス定数";

}

print Hoge::STR;

thisとは?そのクラスをさします
<?php

Class Hoge {
    var $a= "thisです";
    function calc($a){
        print $a;
        print "<br />";
        print $this->a;
    }
}

$hoge = new Hoge();
$hoge->calc("thisではない");

#thisではない
#thisです

オブジェクトのコピー
<?php

Class Hoge {
    var $a= "thisです。";
}

$hoge = new Hoge();
$obj = $hoge;
print $obj->a;
print $hoge->a;

$obj->a = "てすと。";

print $obj->a;
print $hoge->a;

$b = $obj->a;
$b = "ffff。";

print $obj->a;
print $hoge->a;


#thisです。thisです。てすと。てすと。てすと。てすと。

継承 親子関係
<?php

Class Oy {
    var $a= "Oyです。";

    function getA(){
        print $this->a;
    }
}

Class Ko extends Oy{

}

$ko =  new Ko();
print  get_Class($ko);
$ko->getA();
print $ko->a;


#KoOyです。Oyです。

2011年10月31日月曜日

php ファイルアップロード

<html>
<head><title>uploader.html</title></head>
<body>
<form method="post" enctype="multipart/form-data" action="up_load.php">
  <input type="file" name="upfile">
  <input type="submit" value="アップロードする">
</form>
</body>
</html>

<?php
  $updir = "c:test_up/";
  $filename = $_FILES['upfile']['name'];
  if(move_uploaded_file($_FILES['upfile']['tmp_name'], $updir.$filename)==FALSE){
    print("Upload failed");
    print($_FILES['upfile']['error']);
  }
  else {
    print("<b> $filename </b> uploaded");
  }
?>

phpでカレンダー


<form action="calen.php" method="get">
    <select name="year">
        <option value="2011">2011</option>
        <option value="2012">2012</option>
        <option value="2013">2013</option>
        <option value="2014">2014</option>
    </select>
    <select name="month">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
    </select>
    <input type="submit">
</form>



<?php
class Calen{
    function Calen(){
        if($_GET){
            $this->select_year = $_GET["year"];
            $this->select_month = $_GET["month"];
        }else{
            $this->select_year = date("Y");//年
            $this->select_month = date("n");//月
        }
    }
    function show_calender(){

        $max_day = date("t",mktime(0,0,0,$this->select_month,1,$this->select_year));//最大日

        print "$this->select_year"."年"."$this->select_month"."月";
        print "<table border=\"1\">";
        for($day = 1; $day <= $max_day; $day++){
            $day_color = date("w",mktime(0,0,0,$this->select_month,$day,$this->select_year));//曜日にナンバーを取得
            if($day_color == 0 || $day == 1){    //1日か0ならtrタグ開始
                print "<tr>";
            }
           
            if($day == 1){
                $i = 0;
                $day_color = (int)$day_color;
                while($day_color > 0){
                    print "<td> </td>";
                    $day_color--;
                }
            }
            print "<td>".$day."</td>";
            if($day_color == 6){                //6ならtrタグ終了
                print "</tr>";
            }
        }
        print "</table>";

        //////////
    }
}

$calender = new Calen();
$calender->show_calender();



?>

2011年4月11日月曜日

phpで正規表現作業まとめ

今回ereg_replace()でDeprecated: Function ereg_replace() is deprecatedの
 のエラーが多発、調べてみるとphp5.3 以降regex 拡張モジュールは非推奨となります的
なエラーでした。

 解決策としてpreg_replace()を使用し解決しましたので、その時の作業内容をまとめます。

① aタグの削除
$削除パターン  = "/((<a.*>)(.*)(<\/a>))/";
preg_replace($削除パターン,"","$text")
となります。「/」はパターンの最初と最後に「/」がきます。
「\/a」の\はエスケープ文字です。

②日付の抽出
$抽出パターン = "((?:[0-9]{4})(?:[\/]?)(?:[0-9]{0,2})(?:[\/]?)(?:[0-9]{0,2}))"; 
preg_match_all($抽出パターン,"$text","$抽出された文字列");
「?:」はモシはればです。もう少しすっきり書く事ができるんですが今回はここまで、


2011年4月2日土曜日

PHPでDao.Dto.Beansを簡単に書いてみた

<?php

//Bean
class HumanBeans
{
    private $name;
    private $age;
   
    public function setName($name){
        $this->name = $name;
    }
   
    public function setAge($age){
        $this->age = $age;
    }
   
    public function getName(){
        return $this->name;
    }
   
    public function getAge(){
        return $this->age;
    }
}

//Dto
class HumDto
{
    private $dtolist;
    private $ageTotal;
    private $ageAverage;
    public function HumDto(){
    }
   
    //リストをsetしサイズを返す
    public function listSet($dtolist){
        $this->dtolist = $dtolist;
        return count($this->dtolist);
    }
   
    //Ageの合計
    public function ageTotal(){
        for($i = 0 ; $i < count($this->dtolist) ; $i++){
            $this->ageTotal += $this->dtolist[$i]->getAge();
        }
        return $this->ageTotal;
    }
   
    //Ageの平均を返す
    public function ageAverage(){
        $this->ageAverage = $this->ageTotal/count($this->dtolist);
        return $this->ageAverage;
    }

}

//Dao
class HumDao
{
  //今回は$humをDBのデータと見立てて使います 
     public $hum = array(
         0 => array('name' => 'ito' , 'age' => 9,),
         1 => array('name' => 'suzuki' , 'age' => 21,),
        2 => array('name' => 'tanaka' , 'age' => 33,)
     );


    public function HumDao(){
        $humlist = array();
        //print_r ($this->hum);//配列データ
        $humdto = new HumDto();//Dto
        echo "<br>";
        for($i = 0 ;$i < count($this->hum) ; $i++){
            $bean = new HumanBeans();
            $bean->setName($this->hum[$i][name]);
            $bean->setAge($this->hum[$i][age]);
            $this->humlist[] = $bean ;
        }
       
        echo $humdto->listSet($this->humlist)."データサイズ<br>";//Dtosetデータサイズ
        echo $humdto->ageTotal()."Ageの合計<br>";//Ageの合計
        echo $humdto->ageAverage()."Ageの平均<br>";//Ageの平均
       
        //var_dump($this->humlist);
        for($i = 0 ; $i < count($this->humlist) ; $i++){
            echo "名前:".$this->humlist[$i]->getName()." ";
               echo "年齢:".$this->humlist[$i]->getAge()." ";
            echo "<br>";
        }
    }
}

new HumDao();





2011年4月1日金曜日

phpでインターフェイス



<?php
interface Car
{
    public function run();
    public function stop();
}


//
class Mira implements Car
{
    public function Mira(){
        echo "Mira";
    }

    public function run()
    {
        echo "はしる";
    }
    public function stop()
    {
        echo "とまる";
    }
   
    public function tab(){
        echo "ターボ";
    }
}


class F1 extends Mira
{

    public function F1(){
        echo "F1";
    }
   
    public function run(){
        echo "はやくはしる";
    }
       
}



echo "Miraを動かします「";
$mira = new Mira();
$mira->run();
$mira->tab();
$mira->stop();
echo "』";

echo "Miraを継承「*ここでは車的に言うと    改造」したF1を動かします「";
$f1 = new F1();
$f1->run();
$f1->tab();
$f1->stop();
echo "』";


/***********結果**********/

2011年3月24日木曜日

PHPでページングの作り方

*****ページングとは?******
ブログ等で10ページの記事があったとすると、
その10ページ中で、現在見ているページが何ページにあたるかを表示したりします。
また、その現在見てるページの次のリンクを表示したり、戻るリンクを表示したりします。


******ソース*******
ちょっと作ったんでアップします。

<?php


$max = 5;//1ページあたりの表示数
$count;//記事の数が配列が代入されます

$logdata = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z");

$count = count($logdata);//記事数をカウント
$limit = ceil($count/$max);//最大ページ数
$page = empty($_GET["page"])? 1:$_GET["page"];//ページ番号がなければ1、あればそのままで

//記事の配列を表示
for($i = 0 ; $i < count($logdata) ; $i++) {
    print "[".($i+1) ;
    print $logdata[$i]."]";
}

function disp_page($page,$max){
    global $logdata,$count;
    $start = ($page == 1)? 0 : ($page-1) * $max;
    $end   = ($page * $max);
  

    print "<p>";
    print "count:".$count."<br>";
    print "max:".$max."<br>";
    print "start:".$start."<br>";
    print "end:".$end."</p>";
    print "<p>";
    for($i=$start;$i<$end;$i++){
        if($i>= $count){break;}
        print $logdata[$i]."<br>";
    }
    print "</p>";
    }
  

disp_page($page,$max);
paging($limit, $page);
function paging($limit, $page, $disp=5){
    //$dispはページ番号の表示数
    $next = $page+1;
    $prev = $page-1;
    //ページ番号リンク用
    $start =  ($page-floor($disp/2)> 0) ? ($page-floor($disp/2)) : 1;//始点
    $end =  ($start> 1) ? ($page+floor($disp/2)) : $disp;//終点
    $start = ($limit <$end)? $start-($end-$limit):$start;//始点再計算
    if($page != 1 ) {
         print '<a href="?page='.$prev.'">« 前へ</a>';
    }
    //最初のページへのリンク
    if($start>= floor($disp/2)){
        print '<a href="?page=1">1</a>';
        if($start> floor($disp/2)) print "..."; //ドットの表示
    }
    for($i=$start; $i <= $end ; $i++){//ページリンク表示ループ
        $class = ($page === $i) ? ' class="current"':"";//現在地を表すCSSクラス
      
        if($i == $page){print "<b>";}//現在のページは大文字で表示
            if($i <= $limit && $i> 0 ){//1以上最大ページ数以下の場合
                print '<a href="?page='.$i.'"'.$class.'>'.$i.'</a>';//ページ番号リンク表示  
            }
        if($i == $page){print "</b>";}//現在のページは大文字で表示
    }
          
    //最後のページへのリンク
    if($limit> $end){
        if($limit-1> $end ) print "...";    //ドットの表示
        print '<a href="?page='.$limit.'">'.$limit.'</a>';
    }
    if($page <$limit){
        print '<a href="?page='.$next.'">次へ »</a>';
    }
    /*確認用
    print "<p>current:".$page."<br>";
    print "next:".$next."<br>";
    print "prev:".$prev."<br>";
    print "limit:".$limit."<br>";
    print "start:".$start."<br>";
    print "end:".$end."</p>";*/
}

?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" >
<input type="text" name="page" value="">
<input type="submit">
</form>


わたしの教科書的に本です


2011年2月13日日曜日

PHP 関数色々

自分で設定するユーザ関数以外の便利な関数を記述します。
~~~~~~~マジッククオート~~~~~~~~
get_magic_quotes_gpc()
マジッククオートは「” ’ \」等に¥を自動で付ける機能です。
やSQLインジェクションのリスクを軽減させる為の関数です。
必要ない場合は、php.initの設定を変えるか。
strinpslashes()関数で回避します。

~~~~~~~マジッククオート・SQL~~~~~~~~
mysql_real_escape_string()
SQLインジェクション処理関係の関数です。
unescaped_string の特殊文字をエスケープし、SQLを安全に実行できるようにします。
バイナリデータの場合は必ず使います。

~~~~~~~Date関数・日時~~~~~~~~
Date()
date("Y/m/d h:i:s")と記述する事で「年月日、時分秒」を表示します。


~~~~~~~~~mysql_fetch_array・SQL~~~~~~~~~~~
取得した行に対応する配列を返し、内部のデータポインタを前に進めます。
また、MYSQL_ASSOCを第二引数に指定すると連想添字のみが取得されます。
結果に同名のフィールド名が複数ある場合は、最後のカラムが優先されます。


~~~~~~~~~~改行~~~~~~~~~~~
echoで文字列を表示するときに改行を反映する関数、
nl2br()を使います。

2011年1月13日木曜日

CakePHPフレームワークってどんなもんだろ?③

~~~~~~~~~フォームの記述~~~~~~~~~~~
CakePHPの場合、命名規則のルールを守る事でform等の処理もきちんと出来ます。
 また、便利なライブラリもあり大変便利です。

詳しい事はこの本によく解説してあります


CakePHPフレームワークってどんなもんだろ?②

前回表示したCakePHPのトップページですが、
プロジェクトのルートディレクトリのindex.phpが表示されているのではなく、
appフォルダの中のindex.phpが表示されています。*注意しましょう、

■コントローラ
送られてきたアドレスから実行する処理、

■ビュー
テンプレートをとおして表示されます。拡張子はhtmlです。

■モデル
データベースへのアクセスやSQLコマンド等の処理を行います

~~~~~~~~~~~CakePHPは命名規則が命~~~~~~~~~~~~~~~~
CakePHPは設定ファイルに色々こまごま書くのではなく、
指定ディレクトリに指定されたファイルを用意する形となります。


~~~~~~~~~~~MVCの配置ディレクトリ~~~~~~~~~~~~~~~~
appフォルダの中にMVC各おのおののフォルダがあるのでそこに置きましょう、
①コントローラのファイル名は、 「名前」_controll.phpとアンダーバーを付けます。
②モデルは、「テーブル名」.php
③ビューテンプレートは、「名前」フォルダ/ファイル名.ctp
④ビューテンレイアウトは、layouts/「名前」.ctp

■クラス
クラスは「名前」Controller
「名前」Modelと単語の最初を大文字にし、行こうを小文字にします。
*この方法を「キャメル記法」といいます。

■HTMLファイル
HTMLファイルはappフォルダのwebrootに置きましょう、
テストで置いてみてください、文字コードはUTF-8です。
HTMLファイルはMVCに関係なく置けます。


■コントローラを記述してみよう
をappフォルダのcontrollesフォルダに配置、
http://localhost/cake1/sample/hello等で見てみて表示されていればOK、

■controllesの設定内容
①$nameはコントロール名
②$usesはコントロールで仕様するモデル名
③$autoRenderはページのレンダリング設定、OFFだとページの表示はすべて自分で行います。
④indexメソッドはデフォルトページの処理、CakePHPではindexがデフォルト表示とないります。



■ビューを記述を記述してみよう
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>Sample</p>
<p>CakePHPSample</p>
</body>
</html>でappフォルダのviewsフォルダにhelloフォルダを作りそこにindex.tcpとして配置、
表示されればOK、

■viwesの設定内容
$autoLayout = falese;は自動レイアウトの無効にする、trueにするとCakePHPのヘッダ・フッターが表示されます。
$autoRender = true;はレンダリングを自動、helloにアクセスした時「hello」フォルダに中にあるテンプレートを読み込んで表示する、





次回はレイアウトを記述してみよう!!

2011年1月11日火曜日

最近JavaばかりだったのでPHPとの比較してみました

★★★★★★★★★画面出力★★★★★★★★★★
Javaの場合
System.out.print("String");

PHPの場合
print'text';

★★★★★★★★★変数★★★★★★★★★★
Javaの場合
int num = 10;
*Javaの場合変数型を宣言します。

PHPの場合
$num = 10;
*PHPの場合変数型を宣言しなくてもよいです。

★★★★★★★★★変数の出力★★★★★★★★★★
Javaの場合
String str = "変数";
System.out.print(str);

PHPの場合
str = "変数";
print str;
print "str";
*シングルクォーテーションで囲んだ変数は文字列として扱われます。

★★★★★★★★★演算★★★★★★★★★★
Javaの場合
int a = 123;
String b = "123tests";
System.out.print(a + b);

*エラーでコンパイルできません

PHPの場合
$a = "123";
$b = "123tests";
print $a + $b;

出力:246
*PHPの場合ゆるいです。

★★★★★★★★★制御構文★★★★★★★★★★
Java・PHPともにだいたい同じです。
class kuku {

  public static void main(String args[]) {
    System.out.println("九九の表");

int a = 1;
int b = 9

    while(a <= b ) {
      for( int c=1; j<=b; c++ ) {
        System.out.print(a*c + " ");
      }
      a++;
      System.out.println(); 

    }
  }
}

PHPで九九を表示
<?php
$a = 1;
$b = 9;

print"<table border=\"1\">";
while($a <= $b){
    print"<tr>";
    for($c = 1; $c <= $b; $c++){
        print"<td>";
        print($c*$a);
        print"</td>";
    }
    $a++;
    print"</tr>";
}
print"</table>";

★★★★★★★★配列★★★★★★★★★★
Javaの場合
String[] stringArray = {"Sunday", "Monday", "Tuesday"};
*その他コレクションクラスがありますのでArrayListなんか便利です。
 import java.util.*;

class Cars {

public static void main(String args[]){

ArrayList[] cars=new ArrayList[1];

cars[0]=new ArrayList();

cars[0].add("1");

cars[0].add("1");

cars[0].add("3");

for(int i=0;i<cars[0].size();i++){

String str=(String)cars[0].get(i);

System.out.println(str);

}
}
}
 
PHPの場合
$array = array(12345);
http://nyx.pu1.net/function/array/に詳しく配列関数があります。

$a = 0;
$arrayTest = array();

while($a < 3){
    $b = 0;
    while($b < 3){
            $arrayTest[$a][$b] = $a*$b;
            print '$arrayTest['.$a.']['.$b.']='. $arrayTest[$a][$b]."<br>";
        $b++;
    }
    $a++;
}


★★★★★★★★★クラスからオブジェクトの生成★★★★★★★★★★
Javaの場合

class Test1{
int a = 1;
  public void test(){
    System.out.print(a);
  }
}
*Test1クラスの生成
Test1 test1 = new Test1();//オブジェクトの生成
test1.test();//メソッドの呼び出し


PHPの場合
class Test1{
  function test(){
$a = 1;
    print $a;
  }
}
$test =  new Test1();//オブジェクトの生成
$test->test();//メソッドの呼び出し


2011年1月8日土曜日

XAMPP・PHP・eclipseで開発

■日本語化済みの環境のeclipseのインスト
http://mergedoc.sourceforge.jp/
より「JRE あり」と「PHP」の交差するeclipseをインスト
Cドライブの直下に解凍、
次にxamppディレクトリもCドライブ直下に、これでPHPのローカルデバッグが可能になります。
■Eclipse+PDT起動
eclipseディレクトリにeclipse.exeをクリックするとeclipseが起動します。
c:\xampp\htdocsをワークスペースに指定します。
zend_extension_ts = "\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"

あと、php.iniの
1262行目
zend_extension_ts = "\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"
1318行目
zend_extension_manager.debug_server_ts = "\xampp\php\zendDebugger"
を絶対パスにする

2009年3月21日土曜日

require_once( dirname(__FILE__) . '/wp-load.php' );

require_once( dirname(__FILE__) . '/wp-load.php' );
はrequire_onceで一回だけrequire読み込まれます、次のdirnameでディレクトリ名を返し、(_FILE_)でwp-load.phpのフルパスを返します

require_once( ABSPATH . WPINC . '/template-loader.php' );
はrequire_once一回だけtemplate-loader.phpを読み込み、このabspath関数は、基準となるディレクトリから $path 中の ".." や "." を処理するため、存在していない場合でもパス名を返す。