2021-04-06

Apr 7 In-Class Exercise .

Please post your solutions to the Apr 7 In-Class Exercise to this thread.

Best, Chris

Please post your solutions to the Apr 7 In-Class Exercise to this thread. Best, Chris
2021-04-07

-- Apr 7 In-Class Exercise

<pre> '''Autoloader.php''' <?php use some_company\some_project\IntHolder;

spl_autoload_register(function (class) { // echo "Trying to load class\n";

prefix = "some_company\\some_project"; len = strlen(prefix); if (strncmp(prefix, class, len) === 0) { // get the relative class name relative_class = substr(class, len+1).".php"; // echo relative_class; if (file_exists(relative_class)) { require_once(relative_class); } } });

int_holder = new IntHolder(6); echo int_holder->my_num ."\n";

'''IntHolder.php''' <?php namespace some_company\some_project;

class IntHolder { public $my_num;

function __construct(a_num) { this->my_num = $a_num; } }

</pre>

Resource Description for screenshot.jpg

(Edited: 2021-04-07)
<pre> '''Autoloader.php''' <?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class) { // echo "Trying to load $class\n"; $prefix = "some_company\\some_project"; $len = strlen($prefix); if (strncmp($prefix, $class, $len) === 0) { // get the relative class name $relative_class = substr($class, $len+1).".php"; // echo $relative_class; if (file_exists($relative_class)) { require_once($relative_class); } } }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n"; '''IntHolder.php''' <?php namespace some_company\some_project; class IntHolder { public $my_num; function __construct($a_num) { $this->my_num = $a_num; } } </pre> ((resource:screenshot.jpg|Resource Description for screenshot.jpg))

-- Apr 7 In-Class Exercise

IntHolder.php: &lt;pre&gt; &lt;?php namespace some_company\some_project;

class IntHolder { public my_num; function _construct(a_num) { this->my_num = a_num; } } ?&gt; &lt;/pre&gt;

TestHolder.php: &lt;pre&gt; &lt;?php use some_company\some_project\IntHolder;

spl_autoload_register(function (class) { len = strlen(&quot;some_company\some_project&quot;); if (strncmp(class, "some_company\\some_project\\", len) !== 0) { return; } rest = substr(class, len); file_name = &quot;./&quot;.rest.".php"; if (file_exists(file_name)) { require_once $file_name; } });

int_holder = new IntHolder(6); echo int_holder-&gt;my_num .&quot;\n&quot;; ?&gt;

&lt;/pre&gt;

(Edited: 2021-04-07)
IntHolder.php: <pre> <?php namespace some_company\some_project; class IntHolder { public $my_num; function _construct($a_num) { $this->my_num = $a_num; } } ?> </pre> TestHolder.php: <pre> <?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class) { $len = strlen("some_company\\some_project"); if (strncmp($class, "some_company\\some_project\\", $len) !== 0) { return; } $rest = substr($class, $len); $file_name = "./".$rest.".php"; if (file_exists($file_name)) { require_once $file_name; } }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n"; ?> </pre>

-- Apr 7 In-Class Exercise

Resource Description for Screen Shot 2021-04-07 at 4.16.02 PM.png Resource Description for Screen Shot 2021-04-07 at 4.16.24 PM.png Resource Description for Screen Shot 2021-04-07 at 4.17.02 PM.png

((resource:Screen Shot 2021-04-07 at 4.16.02 PM.png|Resource Description for Screen Shot 2021-04-07 at 4.16.02 PM.png)) ((resource:Screen Shot 2021-04-07 at 4.16.24 PM.png|Resource Description for Screen Shot 2021-04-07 at 4.16.24 PM.png)) ((resource:Screen Shot 2021-04-07 at 4.17.02 PM.png|Resource Description for Screen Shot 2021-04-07 at 4.17.02 PM.png))

-- Apr 7 In-Class Exercise

IntHolder

&lt;?php namespace some_company\some_project; class IntHolder{ public my_num; function __construct(a_num){ this->my_num = a_num; } }

AutoLoader

&lt;?php use some_company\some_project\IntHolder;

spl_autoload_register(function ($class) {
    $prefix = 'some_company\\some_project\\';
    $len = strlen($prefix);
    if (strncmp($prefix, $class, $len) !== 0) {
        return;
    }
    else{
        $relative_class = substr($class, $len);
    }
    $relative_class = substr($class, $len);
    if(file_exists("./".$relative_class.".php")){
        require_once "./".$relative_class.".php";
    }

});

$int_holder = new IntHolder(6);
echo $int_holder->my_num . "\n";
IntHolder <?php namespace some_company\some_project; class IntHolder{ public $my_num; function __construct($a_num){ $this->my_num = $a_num; } } AutoLoader <?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class) { $prefix = 'some_company\\some_project\\'; $len = strlen($prefix); if (strncmp($prefix, $class, $len) !== 0) { return; } else{ $relative_class = substr($class, $len); } $relative_class = substr($class, $len); if(file_exists("./".$relative_class.".php")){ require_once "./".$relative_class.".php"; } }); $int_holder = new IntHolder(6); echo $int_holder->my_num . "\n";

-- Apr 7 In-Class Exercise

IntHolder: &lt;?php namespace some_company\some_project;

class IntHolder { public $my_num;

function __construct($a_num) {
    $this->my_num = $a_num;    
}

}

other.php &lt;?php use some_company\some_project\IntHolder;

spl_autoload_register(function (class) { prefix = &#039;some_company\some_project\&#039;; len = strlen(prefix); if(strncmp(class, 'some_company\\some_project\\', len) !==0) { return; } // get the relative class name relative_class = substr(class, len); if(file_exists("./".relative_class .&quot;.php&quot;)) { require_once &quot;./&quot;.$relative_class .&quot;.php&quot;; } });

int_holder = new IntHolder(6); echo int_holder-&gt;my_num .&quot;\n&quot;; Resource Description for 174.png

(Edited: 2021-04-07)
IntHolder: <?php namespace some_company\some_project; class IntHolder { public $my_num; function __construct($a_num) { $this->my_num = $a_num; } } other.php <?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class) { $prefix = 'some_company\\some_project\\'; $len = strlen($prefix); if(strncmp($class, 'some_company\\some_project\\', $len) !==0) { return; } // get the relative class name $relative_class = substr($class, $len); if(file_exists("./".$relative_class .".php")) { require_once "./".$relative_class .".php"; } }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n"; ((resource:174.png|Resource Description for 174.png))

-- Apr 7 In-Class Exercise

namespace some_company\some_project;

class IntHolder{ public $my_num;

function __construct(a_num) { this-&gt;my_num = a_num; } }

use some_company\some_project\IntHolder;

if(file_exists(class.php)) { spl_autoload_register(function(class)) { len = strlen(&#039;some_company\some_project\&#039;); if(strncmp(class, 'some_company\\some_project\\',len) !== 0) { return; //don&#039;t know how to autoload file } rest_of_string = substr(class, len); if(file_exists("./".rest_of_string .&quot;.php&quot;)) { require &quot;./&quot;.$rest_of_string .&quot;.php&quot; }

} }

echo &quot;Earl&quot;; int_holder = new IntHolder(6); echo int_holder-&gt;my_num .&quot;\n&quot;;

namespace some_company\some_project; class IntHolder{ public $my_num; function __construct($a_num) { $this->$my_num = $a_num; } } use some_company\some_project\IntHolder; if(file_exists(class.php)) { spl_autoload_register(function($class)) { $len = strlen('some_company\\some_project\\'); if(strncmp($class, 'some_company\\some_project\\',$len) !== 0) { return; //don't know how to autoload file } $rest_of_string = substr($class, $len); if(file_exists("./".$rest_of_string .".php")) { require "./".$rest_of_string .".php" } } } echo "Earl"; $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n";

-- Apr 7 In-Class Exercise

IntHolder.php &lt;?php namespace some_company\some_project;

class IntHolder{ public my_num; public function __construct(a_num){ this->my_num=a_num; } } // // abc = new IntHolder(5); // echo abc-&gt;my_num; ?&gt;

Autoloader =&gt; &lt;?php use some_company\some_project\IntHolder;

spl_autoload_register(function (class_name) { prefix = &#039;some_company\some_project\&#039;; len = strlen(prefix); if(strncmp(class_name, prefix, len)!==0){ return ; } rest = substr(class_name, len); if(file_exists(&quot;./&quot;.rest.".php")){ require_once "./".rest.&quot;.php&quot;; } require_once &quot;./IntHolder.php&quot;; });

int_holder = new IntHolder(6); echo int_holder-&gt;my_num .&quot;\n&quot;;

Result Resource Description for Capture.PNG

IntHolder.php <?php namespace some_company\some_project; class IntHolder{ public $my_num; public function __construct($a_num){ $this->my_num=$a_num; } } // // $abc = new IntHolder(5); // echo $abc->my_num; ?> Autoloader => <?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class_name) { $prefix = 'some_company\\some_project\\'; $len = strlen($prefix); if(strncmp($class_name, $prefix, $len)!==0){ return ; } $rest = substr($class_name, $len); if(file_exists("./".$rest.".php")){ require_once "./".$rest.".php"; } require_once "./IntHolder.php"; }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n"; Result ((resource:Capture.PNG|Resource Description for Capture.PNG))

-- Apr 7 In-Class Exercise

autoloader.php &lt;?php use some_company\some_project\IntHolder;

spl_autoload_register(function ($class) {

prefix = "some_company\\some_project"; len = strlen(prefix); if (strncmp(prefix, class, len) === 0) { // get the relative class name relative_class = substr(class, len+1).".php"; // echo relative_class; if (file_exists(relative_class)) { require_once(relative_class); } } });

int_holder = new IntHolder(6); echo int_holder-&gt;my_num .&quot;\n&quot;;

?&gt;

IntHolder.php &lt;?php

namespace some_company\some_project;

class IntHolder{
	public $my_num;

	function __construct($a_num) {
		$this->my_num = $a_num; 

}

}

?&gt; Resource Description for Screen Shot 2021-04-07 at 4.23.03 PM.png

autoloader.php <?php use some_company\some_project\IntHolder; spl_autoload_register(function ($class) { $prefix = "some_company\\some_project"; $len = strlen($prefix); if (strncmp($prefix, $class, $len) === 0) { // get the relative class name $relative_class = substr($class, $len+1).".php"; // echo $relative_class; if (file_exists($relative_class)) { require_once($relative_class); } } }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n"; ?> IntHolder.php <?php namespace some_company\some_project; class IntHolder{ public $my_num; function __construct($a_num) { $this->my_num = $a_num; } } ?> ((resource:Screen Shot 2021-04-07 at 4.23.03 PM.png|Resource Description for Screen Shot 2021-04-07 at 4.23.03 PM.png))

-- Apr 7 In-Class Exercise

Intholder.php &lt;?php namespace some_company\some_project;

 class IntHolder {
    public $my_num;
    function __construct($intToHold) {
        $this->my_num = $intToHold;
    }
  }

Autoloader.php &lt;?php use some_company\some_project\IntHolder;

  spl_autoload_register(
      function($class) {
        $len = strlen('some_company\\some_project\\');  
        if (strncmp($class, 'some_company\\some_project\\', $len) !== 0) {
            return;
        }
      $rest_of_string = substr($class, $len);
      if (file_exists("./".$rest_of_string .".php")) {
          require_once "./".$rest_of_string .".php";
      }
  });

  $int_holder = new IntHolder(6);
  echo $int_holder->my_num ."\n";
Intholder.php <?php namespace some_company\some_project; class IntHolder { public $my_num; function __construct($intToHold) { $this->my_num = $intToHold; } } Autoloader.php <?php use some_company\some_project\IntHolder; spl_autoload_register( function($class) { $len = strlen('some_company\\some_project\\'); if (strncmp($class, 'some_company\\some_project\\', $len) !== 0) { return; } $rest_of_string = substr($class, $len); if (file_exists("./".$rest_of_string .".php")) { require_once "./".$rest_of_string .".php"; } }); $int_holder = new IntHolder(6); echo $int_holder->my_num ."\n";
[ Next ]
X