PHPainfree2 Docs

$Painfree->autoload() - Documentation | PHPainfree2

PHPainfree2 $Painfree->autoload()

$Painfree->autoload() : void

$Painfree->autoload() : void

This function is called automatically by PHPainfree2 and loads the defined BaseView.

Design Theory

The reason that this program is executed outside of the PHPainfree class is so that all imported scripts loaded by the autoloader will be executed in the global PHP scope.

WARNING

This is an internal function to PHPainfree2 and is not meant to be called by applications.

$Painfree->autoload()

// process Autoload folder
$loaders = $Painfree->autoload();
foreach ( $loaders as $load ) {
	include $load;
}

public function autoload() {
	// process Autoload folder
	$auto_load_path = $this->Root . $this->options['LogicFolder'] . '/Autoload/*.php';
	$loaders = glob($auto_load_path);
	if ( is_array($loaders) && count($loaders) ) {
		foreach ( $loaders as $autoload ) {
			list($junk,$file_name) = explode('Autoload/', $autoload);
			$this->Autoload[$file_name] = $autoload;
		}
	}

	return $this->Autoload;
}
$Painfree->autoload()
What Where How
Loaded includes/Autoload/ *.php
Called Painfree.php $Painfree->autoload();
PHPainfree/
|-- htdocs/
|-- includes/
|   |-- PainfreeConfig.php
|   |-- Painfree.php
|   |-- App.php
|   `-- Controllers/
`-- templates/
    |-- app.php
	`-- autoloads/
	    `-- main.php

PHPainfree Debugging Console [exec: 0.0019s]

1. App

App = App Object
(
    [title:App:private] => Painfree-autoload -  Documentation |  PHPainfree2
    [htmx] => 
    [htmx_boosted] => 
    [route] => docs/painfree-autoload
    [view] => docs
    [id] => painfree-autoload
    [action] => 
    [data] => Array
        (
            [doc] => painfree-autoload
        )

    [objects] => Array
        (
        )

    [BASE_PATH] => /var/www/vhosts/php.programming-is-easy.com
)

2. Painfree

Painfree = PHPainfree Object
(
    [Version] => 2.2.1
    [URI] => https://php.programming-is-easy.com/docs/painfree-autoload
    [route] => docs/painfree-autoload
    [Root] => /var/www/vhosts/php.programming-is-easy.com/
    [db] => 
    [Autoload] => Array
        (
        )

    [__debug] => Array
        (
            [App] => App Object
(
    [title:App:private] => Painfree-autoload -  Documentation |  PHPainfree2
    [htmx] => 
    [htmx_boosted] => 
    [route] => docs/painfree-autoload
    [view] => docs
    [id] => painfree-autoload
    [action] => 
    [data] => Array
        (
            [doc] => painfree-autoload
        )

    [objects] => Array
        (
        )

    [BASE_PATH] => /var/www/vhosts/php.programming-is-easy.com
)

        )

    [options:PHPainfree:private] => Array
        (
            [ApplicationController] => App.php
            [BaseView] => app.php
            [DefaultRoute] => main
            [PublicFolder] => htdocs
            [TemplateFolder] => templates
            [LogicFolder] => includes
            [ControllerFolder] => Controllers
            [ImagesFolder] => images
            [CssFolder] => css
            [JsFolder] => js
            [DynamicFolder] => views
            [Database] => Array
                (
                )

            [RouteParameter] => route
        )

)

3. DebugExamples

DebugExamples = Please be aware that there are several $Painfree->debug() calls made in templates/debug.php to be used as examples. You should probably remove them.

4. $TestArray

$TestArray = Array
(
    [this_is] => a simple dummy array.
    [example] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

5. $PainfreeConfig

$PainfreeConfig = Array
(
    [ApplicationController] => App.php
    [BaseView] => app.php
    [DefaultRoute] => main
    [PublicFolder] => htdocs
    [TemplateFolder] => templates
    [LogicFolder] => includes
    [ControllerFolder] => Controllers
    [ImagesFolder] => images
    [CssFolder] => css
    [JsFolder] => js
    [DynamicFolder] => views
    [Database] => Array
        (
        )

    [RouteParameter] => route
)

6. EXAMPLE

EXAMPLE = You can basically pass anything to $Painfree->debug().