From 7a9626af3bef5c712901597065745d9572c3f097 Mon Sep 17 00:00:00 2001 From: wei <> Date: Tue, 27 Feb 2007 23:48:49 +0000 Subject: BC: Deprecate TActiveRecord::getRecordFinder() in favour of TActiveRecord::finder(). --- UPGRADE | 4 +++ .../address-book/protected/pages/AddressRecord.php | 19 ++++------- demos/chat/protected/App_Code/ChatBufferRecord.php | 4 +-- demos/chat/protected/App_Code/ChatUserRecord.php | 4 +-- .../protected/controls/Comments/CommentBlock.php | 4 +-- .../protected/pages/Database/ActiveRecord.page | 6 ++-- .../protected/pages/Database/SqlMap.page | 4 +-- .../pages/GettingStarted/Introduction.page | 39 ++++++++++++++++++++++ .../protected/pages/Tutorial/AjaxChat.page | 8 ++--- .../protected/pages/Tutorial/fr/AjaxChat.page | 8 ++--- .../Data/ActiveRecord/Exceptions/messages.txt | 3 +- .../Data/ActiveRecord/Scaffold/TScaffoldBase.php | 2 +- framework/Data/ActiveRecord/TActiveRecord.php | 15 +++++++-- .../Data/ActiveRecord/TActiveRecordConfig.php | 4 +-- framework/prado-cli.php | 4 +-- .../ActiveRecord/BaseActiveRecordTestCase.php | 9 +++-- tests/simple_unit/ActiveRecord/records/Blogs.php | 7 ++-- .../ActiveRecord/records/DepSections.php | 7 ++-- .../ActiveRecord/records/DepartmentRecord.php | 7 ++-- .../ActiveRecord/records/SimpleUser.php | 7 ++-- .../ActiveRecord/records/SqliteUsers.php | 7 ++-- .../ActiveRecord/records/UserRecord.php | 7 ++-- .../simple_unit/SqlMap/ActiveRecordSqlMapTest.php | 4 +-- 23 files changed, 112 insertions(+), 71 deletions(-) diff --git a/UPGRADE b/UPGRADE index 7025adcd..aff235b5 100644 --- a/UPGRADE +++ b/UPGRADE @@ -13,6 +13,10 @@ if you want to upgrade from version A to version C and there is version B between A and C, you need to following the instructions for both A and B. +Upgrading from v3.1a +--------------------- +- TActiveRecord::getRecordFinder() is deprecated in favour of TActiveRecord::finder(). + Upgrading from v3.0.x --------------------- diff --git a/demos/address-book/protected/pages/AddressRecord.php b/demos/address-book/protected/pages/AddressRecord.php index e61ed233..b7c93026 100644 --- a/demos/address-book/protected/pages/AddressRecord.php +++ b/demos/address-book/protected/pages/AddressRecord.php @@ -10,31 +10,26 @@ class AddressRecord extends TActiveRecord * @var integer $id * @soapproperty */ - public $id; - - - + public $id; + /** * @var string $username * @soapproperty */ - public $username; - - - + public $username; + /** * @var string $phone * @soapproperty */ - public $phone; + public $phone; - /** * @return AddressRecord */ - public static function finder() + public static function finder($className==__CLASS__) { - return self::getRecordFinder('AddressRecord'); + return parent::finder($className); } } ?> \ No newline at end of file diff --git a/demos/chat/protected/App_Code/ChatBufferRecord.php b/demos/chat/protected/App_Code/ChatBufferRecord.php index cf3c651f..03f94704 100644 --- a/demos/chat/protected/App_Code/ChatBufferRecord.php +++ b/demos/chat/protected/App_Code/ChatBufferRecord.php @@ -22,9 +22,9 @@ class ChatBufferRecord extends TActiveRecord $this->_created_on = $value; } - public static function finder() + public static function finder($className=__CLASS__) { - return parent::getRecordFinder('ChatBufferRecord'); + return parent::finder($className); } public function saveMessage() diff --git a/demos/chat/protected/App_Code/ChatUserRecord.php b/demos/chat/protected/App_Code/ChatUserRecord.php index 9bfb11cd..e5ebc761 100644 --- a/demos/chat/protected/App_Code/ChatUserRecord.php +++ b/demos/chat/protected/App_Code/ChatUserRecord.php @@ -19,9 +19,9 @@ class ChatUserRecord extends TActiveRecord $this->_last_activity = $value; } - public static function finder() + public static function finder($className=__CLASS__) { - return parent::getRecordFinder('ChatUserRecord'); + return parent::finder($className); } public function getUserList() diff --git a/demos/quickstart/protected/controls/Comments/CommentBlock.php b/demos/quickstart/protected/controls/Comments/CommentBlock.php index f2f6e9a1..b0f23d47 100644 --- a/demos/quickstart/protected/controls/Comments/CommentBlock.php +++ b/demos/quickstart/protected/controls/Comments/CommentBlock.php @@ -19,9 +19,9 @@ class CommentRecord extends TActiveRecord public static $_tablename='qs_comments'; - public static function finder() + public static function finder($className=__CLASS__) { - return self::getRecordFinder('CommentRecord'); + return parent::finder($className); } } diff --git a/demos/quickstart/protected/pages/Database/ActiveRecord.page b/demos/quickstart/protected/pages/Database/ActiveRecord.page index 2562f674..041a1126 100644 --- a/demos/quickstart/protected/pages/Database/ActiveRecord.page +++ b/demos/quickstart/protected/pages/Database/ActiveRecord.page @@ -81,9 +81,9 @@ class UserRecord extends TActiveRecord /** * @return TActiveRecord active record finder instance */ - public static function finder() + public static function finder($className=__CLASS__) { - return self::getRecordFinder('UserRecord'); + return parent::finder($className); } } @@ -129,7 +129,7 @@ will raise an exception.

The static method finder() returns an UserRecord instance that can be used to load records from the database. The loading of records - using the finer methods is discuss a little later. The TActiveRecord::getRecordFinder() + using the finer methods is discuss a little later. The TActiveRecord::finder() static method takes the name of the current Active Record class as parameter.

diff --git a/demos/quickstart/protected/pages/Database/SqlMap.page b/demos/quickstart/protected/pages/Database/SqlMap.page index ce9e979e..c8ced852 100644 --- a/demos/quickstart/protected/pages/Database/SqlMap.page +++ b/demos/quickstart/protected/pages/Database/SqlMap.page @@ -221,9 +221,9 @@ class UserRecord extends TActiveRecord /** * @return TActiveRecord active record finder instance */ - public static function finder() + public static function finder($className=__CLASS__) { - return self::getRecordFinder('UserRecord'); + return parent::finder($className); } } diff --git a/demos/quickstart/protected/pages/GettingStarted/Introduction.page b/demos/quickstart/protected/pages/GettingStarted/Introduction.page index 87a54f0b..0871921a 100644 --- a/demos/quickstart/protected/pages/GettingStarted/Introduction.page +++ b/demos/quickstart/protected/pages/GettingStarted/Introduction.page @@ -4,6 +4,45 @@

This Quickstart tutorial is provided to help you quickly start building your own Web applications based on PRADO version 3.x.

+
+
+

How Prado Works

+

Concepts and fundamentals

+
    +
  1. Building web applications with Prado
  2. +
  3. Web controls and events
  4. +
  5. Validating user input
  6. +
  7. Connecting to your database
  8. +
  9. Displaying data from database
  10. +
+
+
+

Examples and Demos

+ +

More examples in Standard Controls, + Validation Controls and + Data Controls. +

+ +
+

Tutorials and Help

+ +
+
+ +

You may refer to the following resources if you find this tutorial does not fulfill all your needs.

diff --git a/demos/quickstart/protected/pages/Tutorial/AjaxChat.page b/demos/quickstart/protected/pages/Tutorial/AjaxChat.page index 730ebab6..7d978a12 100644 --- a/demos/quickstart/protected/pages/Tutorial/AjaxChat.page +++ b/demos/quickstart/protected/pages/Tutorial/AjaxChat.page @@ -173,9 +173,9 @@ class ChatUserRecord extends TActiveRecord public static $_tablename='chat_users'; - public static function finder() + public static function finder($className=__CLASS__) { - return parent::getRecordFinder('ChatUserRecord'); + return parent::finder($className); } } @@ -522,9 +522,9 @@ class ChatBufferRecord extends TActiveRecord $this->_created_on = $value; } - public static function finder() + public static function finder($className=__CLASS__) { - return parent::getRecordFinder('ChatBufferRecord'); + return parent::finder($className); } } diff --git a/demos/quickstart/protected/pages/Tutorial/fr/AjaxChat.page b/demos/quickstart/protected/pages/Tutorial/fr/AjaxChat.page index fc1997c8..7bc36d5f 100644 --- a/demos/quickstart/protected/pages/Tutorial/fr/AjaxChat.page +++ b/demos/quickstart/protected/pages/Tutorial/fr/AjaxChat.page @@ -173,9 +173,9 @@ class ChatUserRecord extends TActiveRecord public static $_tablename='chat_users'; - public static function finder() + public static function finder($className=__CLASS__) { - return parent::getRecordFinder('ChatUserRecord'); + return parent::finder($className); } } @@ -522,9 +522,9 @@ class ChatBufferRecord extends TActiveRecord $this->_created_on = $value; } - public static function finder() + public static function finder($className=__CLASS__) { - return parent::getRecordFinder('ChatBufferRecord'); + return parent::finder($className); } } diff --git a/framework/Data/ActiveRecord/Exceptions/messages.txt b/framework/Data/ActiveRecord/Exceptions/messages.txt index 1d7d6e7d..84b58fe5 100644 --- a/framework/Data/ActiveRecord/Exceptions/messages.txt +++ b/framework/Data/ActiveRecord/Exceptions/messages.txt @@ -15,4 +15,5 @@ ar_missing_pk_values = Missing primary key values in forming IN(key1, key2, ar_pk_value_count_mismatch = Composite key value count mismatch in forming IN( (key1, key2, ..), (key3, key4, ..)) for table '{0}'. ar_must_copy_from_array_or_object = $data in {0}::copyFrom($data) must be an object or an array. ar_mismatch_column_names = In dynamic __call() method '{0}', no matching columns were found, valid columns for table '{2}' are '{1}'. -ar_invalid_table = Missing, invalid or no permission for table/view '{0}'. \ No newline at end of file +ar_invalid_table = Missing, invalid or no permission for table/view '{0}'. +ar_invalid_finder_class_name = Class name for finder($className) method must not be 'TActiveRecord', you should override the finder() method in your record class or pass in a valid record class name. \ No newline at end of file diff --git a/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php b/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php index b55ceedc..4e96a19d 100644 --- a/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php +++ b/framework/Data/ActiveRecord/Scaffold/TScaffoldBase.php @@ -165,7 +165,7 @@ abstract class TScaffoldBase extends TTemplateControl */ protected function getRecordFinder() { - return TActiveRecord::getRecordFinder($this->getRecordClass()); + return TActiveRecord::finder($this->getRecordClass()); } /** diff --git a/framework/Data/ActiveRecord/TActiveRecord.php b/framework/Data/ActiveRecord/TActiveRecord.php index 7ab45a2b..8c789ec2 100644 --- a/framework/Data/ActiveRecord/TActiveRecord.php +++ b/framework/Data/ActiveRecord/TActiveRecord.php @@ -41,9 +41,9 @@ Prado::using('System.Data.ActiveRecord.TActiveRecordCriteria'); * public static final $_tablename='users'; //optional table name. * * //returns active record finder instance - * public static function finder() + * public static function finder($className=__CLASS__) * { - * return self::getRecordFinder('UserRecord'); + * return parent::finder($className); * } * } * @@ -143,9 +143,13 @@ abstract class TActiveRecord extends TComponent * Returns the instance of a active record finder for a particular class. * @param string active record class name. * @return TActiveRecord active record finder instance. + * @throws TActiveRecordException if class name equals 'TActiveRecord'. */ - public static function getRecordFinder($class) + public static function finder($className=__CLASS__) { + if($class==='TActiveRecord') + throw new TActiveRecordException('ar_invalid_finder_class_name'); + static $finders = array(); if(!isset($finders[$class])) { @@ -156,6 +160,11 @@ abstract class TActiveRecord extends TComponent return $finders[$class]; } + public static function getRecordFinder($className) + { + throw new TActiveRecordException('Deprecated method, use TActiveRecord::finder()'); + } + /** * Gets the record manager for this object, the default is to call * TActiveRecordManager::getInstance(). diff --git a/framework/Data/ActiveRecord/TActiveRecordConfig.php b/framework/Data/ActiveRecord/TActiveRecordConfig.php index 5670e64c..3f16287d 100644 --- a/framework/Data/ActiveRecord/TActiveRecordConfig.php +++ b/framework/Data/ActiveRecord/TActiveRecordConfig.php @@ -45,9 +45,9 @@ Prado::using('System.Data.TDataSourceConfig'); * public $blog_name; * public $blog_author; * - * public static function finder() + * public static function finder($className=__CLASS__) * { - * return self::getRecordFinder('Blogs'); + * return parent::finder($className); * } * } * diff --git a/framework/prado-cli.php b/framework/prado-cli.php index 5ccef4bc..8ede48ab 100755 --- a/framework/prado-cli.php +++ b/framework/prado-cli.php @@ -660,9 +660,9 @@ class $class extends TActiveRecord $props - public static function finder() + public static function finder($className=__CLASS__) { - return self::getRecordFinder('$class'); + return parent::finder($className); } } ?> diff --git a/tests/simple_unit/ActiveRecord/BaseActiveRecordTestCase.php b/tests/simple_unit/ActiveRecord/BaseActiveRecordTestCase.php index 9e48fe5f..fbb1c927 100644 --- a/tests/simple_unit/ActiveRecord/BaseActiveRecordTestCase.php +++ b/tests/simple_unit/ActiveRecord/BaseActiveRecordTestCase.php @@ -1,5 +1,4 @@ -assertIdentical($obj1,$obj2); } function test_finder_throw_exception_when_save() { - $obj = TActiveRecord::getRecordFinder('BaseRecordTest'); + $obj = TActiveRecord::finder('BaseRecordTest'); try { $obj->save(); diff --git a/tests/simple_unit/ActiveRecord/records/Blogs.php b/tests/simple_unit/ActiveRecord/records/Blogs.php index 69bdecd9..c32ca6b6 100644 --- a/tests/simple_unit/ActiveRecord/records/Blogs.php +++ b/tests/simple_unit/ActiveRecord/records/Blogs.php @@ -1,14 +1,13 @@ -_level=TPropertyValue::ensureInteger($level); } - public static function finder() + public static function finder($className=__CLASS__) { - return self::getRecordFinder('UserRecord'); + return parent::finder($className); } } diff --git a/tests/simple_unit/SqlMap/ActiveRecordSqlMapTest.php b/tests/simple_unit/SqlMap/ActiveRecordSqlMapTest.php index 9dc944f5..1f018a02 100644 --- a/tests/simple_unit/SqlMap/ActiveRecordSqlMapTest.php +++ b/tests/simple_unit/SqlMap/ActiveRecordSqlMapTest.php @@ -16,9 +16,9 @@ class ActiveAccount extends TActiveRecord private static $_tablename='Accounts'; - public static function finder() + public static function finder($className=__CLASS__) { - return self::getRecordFinder('ActiveAccount'); + return parent::finder($className); } } -- cgit v1.2.3