X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=doc%2Fautoloader.md;h=29d3a005fdb0c1fc9f2aa9cf678353e2098d68cb;hb=d7377215a45394f37513b6e8653bbe646a70033b;hp=5b894cb1a013f9286a9c26671715ea73be4057ed;hpb=4a473611163a12b48d3bbad71dc54765be8789f9;p=friendica.git diff --git a/doc/autoloader.md b/doc/autoloader.md index 5b894cb1a0..29d3a005fd 100644 --- a/doc/autoloader.md +++ b/doc/autoloader.md @@ -38,7 +38,8 @@ The class `ItemsManager` has been declared in the `Friendica` namespace. Namespaces are useful to keep classes separated and avoid names conflicts (could be that a library you want to use also defines a class named `ItemsManager`, but as long as it is in another namespace, you don't have any problem) Let's say now that you need to load some items in a view, maybe in a fictional `mod/network.php`. -In order for the Composer autoloader to work, it must first be included. In Friendica this is already done at the top of `boot.php`, with `require_once('vendor/autoload.php');`. +In order for the Composer autoloader to work, it must first be included. +In Friendica this is already done at the top of `boot.php`, with `require_once('vendor/autoload.php');`. The code will be something like: @@ -58,7 +59,8 @@ function network_content(App $a) { That's a quite simple example, but look: no `require()`! If you need to use a class, you can simply use it and you don't need to do anything else. -Going further: now we have a bunch of `*Manager` classes that cause some code duplication, let's define a `BaseManager` class, where we move all common code between all managers: +Going further: now we have a bunch of `*Manager` classes that cause some code duplication. +Let's define a `BaseManager` class, where we move all common code between all managers: ```php // src/BaseManager.php @@ -102,7 +104,7 @@ class Dfrn { mail_post($a){ ... - Friendica\dfrn::mail($item, $owner); + Friendica\Protocol\DFRN::mail($item, $owner); ... } ``` @@ -123,12 +125,12 @@ switch($contact['network']) { case NETWORK_DFRN: if ($mail) { $item['body'] = ... - $atom = Dfrn::mail($item, $owner); + $atom = DFRN::mail($item, $owner); } elseif ($fsuggest) { - $atom = Dfrn::fsuggest($item, $owner); + $atom = DFRN::fsuggest($item, $owner); q("DELETE FROM `fsuggest` WHERE `id` = %d LIMIT 1", intval($item['id'])); } elseif ($relocate) - $atom = Dfrn::relocate($owner, $uid); + $atom = DFRN::relocate($owner, $uid); [...] ``` @@ -194,4 +196,4 @@ So you can think of namespaces as folders in a Unix file system, with global sco ## Related * [Using Composer](help/Composer) -* [How To Move Classes to `src`](help/Developer-How-To-Move-Classes-to-src) \ No newline at end of file +* [How To Move Classes to `src`](help/Developer-How-To-Move-Classes-to-src)