Simon Wippich wrote:
> Hi all!
>
> I'm new to ezComponents and want to bulid an entire project upon that
> impressive library. But I got stuck right at the beginning (it should be a
> really trivial problem): the autoload of my controller class seems to be not
> working. The only output I get is the following error message:
>
> "Fatal error: Class 'manappController' not found in
> C:\Programme\xampp\htdocs\project\index.php on line 33"
>
> The development is taking place on a local XAMPP-server, ezc has been
> installed via pear and is included correctly by the index.php.
>
> The filestructure:
>
> ./project/index.php
> ./project/autoload/manapp_autoload.php
> ./project/core/controller.php
>
> The content of the file index.php:
>
> <?php
>
> $ezcBase = "../../php/PEAR/ezc/Base/base.php";
>
> // Check if the basefile exists
> if(!file_exists($ezcBase)) {
> die ("<h1>Error!</h1><p>The PEAR-package
> <strong>eZComponents</strong> cannot be found! Please check your
> installation...</p>"); }
>
> // Include the ezc-baseclass if available else {
> require_once($ezcBase);
> }
>
> ezcBase::addClassRepository(
> dirname(__FILE__),
> dirname(__FILE__) . "/autoload",
> "manapp"
> );
>
> $options = new ezcBaseAutoloadOptions;
> $options->preload = true;
> ezcBase::setOptions($options);
>
> function __autoload($className){
> ezcBase::autoload($className);
> }
>
> $manapp = manappController::getInstance(); $manapp->run();
>
> ?>
>
> Content of the file manapp_autoload.php:
>
> <?php
>
> return array(
> "manappController" => "core/controller.php", );
Hi Simon,
Your autoload file should be named controller_autoload.php. Then it
should work. See also the tutorial for the Base component
(http://ezcomponents.org/docs/tutorials/Base), the section about adding
class repositories located outside eZ Components to autoload system.
In your case, "manapp" is something like a namespace (like "ezc" is for
Components), and "Controller" is the name of your package.
"manappController" is a class in the Controller package. If you add
other classes to this package, they should be named
"manappControllerSomething" and should be added to the
controller_autoload.php file as well.
Hope this helps.
Cheers,
Alex.
--
Alexandru Stanoi
eZ Components System Developer
eZ Systems | http://ez.no
--
Components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/components