I stated implementing object oriented design into my website. I’m using php, and ran into an issue.
As is my tendency, I like to define one class per one file – nothing else. Normally, if I remember correctly, in most languages classes can be called if they’re in the same directory without having to be explicitly linked to the main program (I could be wrong, or unique to virtual machines).
Right now, php sends errors when I don’t link the class file to the main file. On top of that, a child class won’t execute unless I define the link to the parent’s class file.
Do I have to explicitly link all of my files together?
Here’s some snippets of my code for detail:
<?php
include_once 'VRC_Header2.php';
include_once 'UserService.php'; //Child class file of DB_MySQL.php
include_once 'DB_MySQL.php'; //Parent class
//Without the two links above, this file will not execute
Then the child class:
class UserService extends DB_MySQL
{...
Any help is appreciated.
Yes, in PHP, you have to include all classes you need before you instanciate them.
One method to circumvent this is to use autoloading:
http://php.net/manual/en/language.oop5.autoload.php
Which is used on most PHP Frameworks (e.g. Zend Framework).