Re: class? package?
| From: | Larry Garfield | Date: | Wed, 11 Jun 2008 04:02:00 +0000 |
| Subject: | Re: class? package? | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-275214@lists.php.net to get a copy of this message | ||
On Tuesday 10 June 2008, Shelley wrote:
> Hi all,
>
> If you are designing with OO principles, could you give an explanation of
> what is the difference classes and packages?
>
> Several principles talks about classes and packages, such as:
> The classes in a package are reused together. If you reuse one of the
> classes in a package, you reuse them all.
>
> but few explains the difference between them.
>
> When I was summarizing the OO principles, that question confused me:
>
> http://phparch.cn/index.php/php/43-php-advanced-programming/170-principles-
>of-object-oriented-design
>
> Thanks in advance. :)
A class is a syntactic way of grouping behavior and data together in an
encapsulated fashion (at least that's the PHP definition).
A formal package is a syntactic way of grouping related classes together,
either for easier distribution, somewhat tighter coupling, or syntactic
sugar. For instance, you could have 5 classes that make up your "Database
abstraction" package; they're all discrete, but all work in concert.
PHP does not have a syntactic "package" concept. The closest thing would be
namespaces as implemented in PHP 5.3, but that's not out yet. Many systems
emulate packages with verbose class naming (eg, Database_Connection,
Database_Query, Database_Transaction, Database_Query_Select, etc.), but I
personally find that ugly. :-)
--
Larry Garfield AIM: LOLG42
larry@garfieldtech.com ICQ: 6817012
"If nature has made any one thing less susceptible than all others of
exclusive property, it is the action of the thinking power called an idea,
which an individual may exclusively possess as long as he keeps it to
himself; but the moment it is divulged, it forces itself into the possession
of every one, and the receiver cannot dispossess himself of it." -- Thomas
Jefferson