クラスを宣言し、呼び出すときは次のようにするとインスタンス化されます。


-- code ---------


namespace Sample

{


public class Processor

{

private int val1;

private int val2;

public int Val1

{

get{ return val1; }

set{ val1 = value; }

}

pucblic int Val2

{

get{ return val2; }

set{ val2 = value; }

}

public Processor(int _val1, int _val2)

{

val1 = _val1;

val2 = _val2;

}

public int Run()

{

return val1 + val2;

}

}


public class Startup

{

public static void Main(string [] args)

{

Processor processor = new Processor(1, 1);

Console.WriteLine(processor.Run());

}

}


}

----------------


new キーワードを用いてインスタンス化します。


別の方法で文字列にクラス名を指定してインスタンスする方法もあります。


-- code ----------


public class Startup

{

public static void Main(string [] args)

{

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();

Processor processor =

(Processor)
asm.CreateInstance("Sample.Processor",
false,
System.Reflection.BindingFlags.CreateInstance,
null,
new object[]{1,1},
null,
null);

Console.WriteLine(processor.Run());

}

}


-----------------


といった具合に可能です。


インターフェースや継承を利用すれば、もっと柔軟にクラスの作成が可能になります。



includeやrequireが利用できない!!


と困った事がありませんか?


設定にもよりますが、PHPはエラーメッセージが表示されなかったりします。


その場合は基本アクセスログと同階層にあるエラーログ(error_logというファイル名)に出力されている事が主です。

(もちろんphp.iniの設定によっては別の箇所に吐き出されていたり、画面に出力されたりします。)


少し話がそれましたが、requireができなかったというこで、早速エラーログをみてみましょう。

(画面にでてれば楽ですが、でていない人は)


-- error_log --------

[client [IP_ADDR]] PHP Warning: main(): open_basedir restriction in effect. File([requireするファイルパス]) is not within the allowed path(s): ([どこかで設定されていそうなパス]) in [実際に実行しているファイルパス] on line 2
[client [IP_ADDR]] PHP Warning: main[requireするファイルパス]): failed to open stream: Operation not permitted in [実際に実行しているファイルパス] on line 2
[client [IP_ADDR]] PHP Fatal error: main(): Failed opening required '[requireするファイルパス]' (include_path='.:') in [実際に実行しているファイルパス] on line 2
---------------


こんなエラーが出た場合はphp.iniの設定によりファイルの読み込みが制限されているエラーです。


php.ini内のopen_basedirが設定されている場合に制限されます。


以下、記載方法

open_baseidr [制限パス]


これを解除するには次のように変更します。

open_basedir none


ちなみに、httpd.conf or .htaccess内での変更方法の場合

php_admin_value open_basedir none


以上で設定は完了です。


修正後即反映されない設定の方はWEBサーバの再起動を行って、もう一度検証を行ってみてください。


エラーが出力されなくなるはずです。

WindowsVistaではTELNETが標準でインストールされていません。


ですので、コマンドラインで


--

> telnet xxx.com

--


と入力しても


--

'telnet' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

--


と表示されてしまいます。


これを有効にするには、次の方法で行います。


1.左下のスタートボタンをクリック


2.「コントロールパネル」をクリック


3.「プログラム」をクリック


4.”プログラムと機能”ラベルの右下にある「Windowsの機能の有効化または無効化」をクリック


5.”Windowsの機能”ウィンドウが表示されるので、「Telnetクライアント」にチェックをつける


6.「OK」ボタンをクリック


以上で、Telnetがインストールされ、コマンドラインでTELNETコマンドが利用可能になります。