Mmm, well the Mysidia framework is quite advanced! It's built with a term known in programming languages as 'object orientation' which is a bit more advanced that just going at it. In 'Object Oriented Programming' styles [OOP] everything works with 'classes' in mind - and this saves the effort of typing in redundant code all over the place. Inside classes, functions are known as methods, etc etc -- so your best bet for helpful reading would be to look into object oriented PHP guides, in addition to standard introductory courses. There's actually quite a number of good videos on YouTube that I've found quite helpful, so hunting around there might be good, too. (And luckily Codecademy does have a run through for Object Oriented PHP during its normal PHP course!)
The existing classes for the framework aren't particularly well documented at this stage, unfortunately, but with the next major release HoF says they will be! (<3)
I've jotted down
a few notes (mostly for myself) that sort of count as some basic documentation... so they might be helpful!
I'll also start in by saying I recommend making new pages manually (and not through the AdminCP). To use the stats page as example, there's a stats.php in the root directory, but inside the view folder, there's a statsview.php - and this is how pages work. (I think this is known as a 'Model View Controller' [MVC] technique.) In both files, you'll see things contain matching naming conventions (StatsController and StatsView) and it's got to be strictly adhered to:
stats.php -
PHP Code:
class StatsController extends AppController{ ... }
statsview.php -
PHP Code:
class StatsView extends View{ ... }
And at this point I'll recommend you get yourself a nice text editor to program in! I personally recommend
Sublime Text, because editing multiple lines simultaneously and searching all files in a project for a single word or function name has been such a blessing for making changes and cross referencing. I also really like the color scheme options of this program in general. Alternatively, I've also had great experiences with
Notepad++. In both cases the reason for having a text editor like these comes down to
syntax highlighting so the code is colored informatively for easier reading.