2011-07-19 4 views
-1

私はPHPクラスやオブジェクト指向プログラミングに慣れていません。PHPスクリプトをクラスに変換するには?

私はPHPでコード化されたサイトを持っており、完全にクラスを使用して書かれています。

既に私がクラスではないスクリプトに基づいてサイトに新しいセクションを追加したいと思います。

このスクリプトのメインファイルにはいくつかの機能があり、外部機能も含まれていますが、いずれもクラスには含まれていません。

スクリプトを現在のOOPサイトで使用するにはどうすればよいですか?言い換えれば、どのようにしてPHPスクリプトをクラスに変換して、関数へのすべての呼び出しがエラーなく新しいクラス内で動作するようにすることができますか?

ありがとうございます。

+3

[プロシージャデザインをオブジェクトにリファクタリングする](http://sourcemaking.com/refactoring/convert-procedural-design-to-objects) – Gordon

+3

oopアーキテクチャーの様子や手続きスクリプト働くこれは少し答えることのできない質問です。 OOPの仕組みを学び、実装方法を知っています。 –

+0

コードをクラスに変換せずに使ってみましたか?それでもうまくいくかも... – feeela

答えて

0

別のページを追加しますか?あなたはコントローラにアプリケーションを追加する方法を見つける必要があります。は完全にフレームワークに依存しますです。

クラスと非クラスのスクリプトについてこれは問題ではありませんが、既存のコード用の小さなラッパークラスを作成する必要があります。一方、コードが比較的小さい場合は、もちろんそれを屈折させるのが理にかなっています。

1

すべての非oopクラスを書き換えます。

私はそれがpropably複雑だが、唯一の良い解決策です。弱いソリューションの

(推奨しません、彼らはcrapyある)

  • あなたのPHPファイルの開始時に要求をチェックし、スクリプトの#1またはスクリプト#2

  • を含めることができます以外に設定することができます出力データのみに-oopスクリプトsomewherとのfile_get_contents、カール、AJAX要求またはSTH

することにより、第1の内容を取得するために、2番目のスクリプトでいくつかの小さなモジュールを記述しないでくださいトンそれはポイントのポイントではない、ポイントは両方のスクリプトのアーキテクチャ/フレームワーク、それぞれのモジュール/機能を作成する方法です。 私は、クラスで書かれたコードCANは非クラスの書かれた残りと一緒に働くことを意味します。

0

すべてが手元のケースに依存するため、満足のいく回答を得る方法はありません。たとえば、スマートで出力を処理することができます。その場合、あなたのスクリプトはOOPである必要はありません、あなたはあなたの出力のためにオブジェクトを使用する必要があります。

実際にOOPにしたい場合、最初に行うべきことは関数を使用するようにコードを再因子化することです。常に実行され、関数に入れられないものはコンストラクタに入ります。あなたはそのすべてをクラスに包んでいます。そこに新しいクラスがあります。

しかし、これを行う前に、コードを分析してが本当にのコードがOOPである必要があるかどうかを尋ねる必要があります。何十もの変数と配列を微調整しなければならないので、必要な値を常に手に入れていますか?あなたは一緒に行く変数を変更/管理/出力する多くの機能を持っていますか?その場合は、OOPを使用する必要があります。それ以外の場合は、通常の関数を使用する方がよいでしょう。

関連する問題