AW: [PHP] stdClass - A newbie question
| From: | Bouz Alexander | Date: | Thu, 30 Jul 2009 11:10:04 +0000 |
| Subject: | AW: [PHP] stdClass - A newbie question | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-296051@lists.php.net to get a copy of this message | ||
Hello Márcio,
stdClass is simply an empty class, without any properties or methods.
The object in the code sample is used to return multiple values at once. He could also have used an
associative array to achieve that, but by choosing an object, he shows his affinity to the object
oriented programming style.
The empty stdClass has the advantage of being a "blank" class. You can assign new
properties or methods without minding about properties and methods that already exist in the class.
Besides that, it also doesn't use much memory. (Don't see that as performance boosting
tip! There are much better ways to do that. Besides that, comprehensible design > performance.)
By the way, there are many reasons for creating objects inside of other objects. This should not be
considered an exception. I don't know where this code belongs to, so I can't clear out if
it is good or bad OOP style.
Just think about everything in classes and objects - even return values or other things, that you
would normally consider as "volatile". (eg. a network connection)
Have a nice day,
Alex
____________________________________
Austrian Optic Technologies GmbH
Eisgrubengasse 2-6, A-2334 Vösendorf/Austria
Firmenbuch Nr.: FN 93629s
Firmenbuchgericht: Landesgericht Wien
UID-NR.: ATU 14976908
Disclaimer: Diese Nachricht ist ausschließlich für den bezeichneten Adressaten oder deren
Vertreter bestimmt. Sollten sie nicht der vorgesehene Adressat dieser E-Mail sein, so bitten wir
Sie, sich mit dem Absender der E-Mail in Verbindung zu setzen. Jede Form der unauthorisierten
Nutzung, Veröffentlichung, Vervielfältigung oder Weitergabe dieser E-Mail ist nicht gestattet.
This message is exclusively intended for the designated recipient or his representatives. If you are
not the designated recipient of this e-mail, we kindly ask you to notify the sender of this e-mail.
Any form of unauthorized use, publication, duplication or dissemination of this e-mail is
prohibited.
Von: MEM [mailto:talofo@gmail.com]
Gesendet: Donnerstag, 30. Juli 2009 12:21
An: php-general@lists.php.net
Betreff: [PHP] stdClass - A newbie question
Hello everybody,
In this class sketch:
<?php
class Pagination {
...
public static function Pagination ($total_records, $limit, $page)
{
$total_pages = ceil($total_records / $limit);
$page = max($page, 1);
$page = min($page, $total_pages);
$offset = ($page -1) * $limit;
$pagi_obj= new stdClass;
$pagi_obj->total_pages = $total_pages;
$pagi_obj->offset = $offset;
$pagi_obj->limit = $limit;
$pagi_obj->page;
return $pagi_obj;
}
}
Why do the author used a stdClass ?
What are the advantages of using a stdClass?
Since we are already inside a class, why do we need to create a new object
from another class, inside this one?
Why do we keep the values passed as params on method Pagination inside this
stdClass object, and not inside Pagination own properties for example?
Any help clarifying this, knowing that I'm a newbie,
Regards,
Márcio
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php