Down the Rabbit Hole
Tina4 is a PHP Stack or what is commonly known as a framework. Tina4 claims not to be a framework (This is not a 4ramework!). Down the rabbit hole represents a journey with using Tina4 from simple concepts to increasingly more complex stuff.
Each step down the rabbit hole builds on the previous step and hi-lights concepts that you can use to build your own systems.
Let's jump into the hole
Whether you work on Windows, Linux or Mac, you need to use a terminal at some point, you also need a reliable editor, the first step down the rabbit hole is to choose your terminal and IDE. You also need some basic tools; which every software engineer should have on their computer. Most importantly you need to have PHP installed on your OS unless you choose to use the docker environment.
- Download and install Visual Studio Code or PHPStorm
- Download and install Git
- Install PHP7.3 or greater with the minimum required extensions - Learn how to install PHP here
- Install Composer - Learn how to install composer here
- Install OpenSSL - Learn how to install OpenSSL here
Test PHP
In your IDE terminal or power shell, run the following command:
php -v
And it's result:
PHP 7.4.20 (cli) (built: Jun 3 2021 19:10:14) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.20, Copyright (c), by Zend Technologies
Test Composer
In your IDE terminal or power shell, run the following command:
composer -V
And it's result:
Composer version 1.10.13 2020-09-09 11:46:34
Test OpenSSL
In your IDE terminal or power shell, run the following command:
openssl version
And it's result:
OpenSSL 1.1.1k 25 Mar 2021
Test for Git
In your IDE terminal or power shell, run the following command:
git --version
And it's result:
git version 2.32.0
The first jump - what did we learn
Often getting up and running and coding can be more difficult than the actual coding. Deploying your application after you have coded it can also be more challenging than the work that you did to write the application.
- We should have the basics now to start developing in PHP
- We should have version control running with Git
If any of the tests above fail, you should spend some time to see about resolving the issues. The most important is to have your PHP running.
One meter down
I'm assuming you have never seen PHP code before , I am hopeful if you have some concept of what a website is and what is HTML. All you need to know right now is that websites are TEXT! That's it, all a web server does is send text to the browser which interprets it into the pretty websites you see every day. As a programmer you need to know how to put that text in the right sequence, so it makes it look great.
Our first PHP program
Before we get to far down this hole, lets make sure you're organised. We recommend making a folder on the root of one of your home folder called projects. Inside projects, you can create other folders as a way to track your progress. In your projects folder make a folder called tina4example1 and open the folder as a project in your IDE or editor.
Example 1
Add this code to a file called test.php
<?php
echo "This is just text!";
Now you need to run the code to see what it does. Open up a terminal in the example folder, spin up a web-server by executing the following command:
php test.php
You should get an output similar to the following:
Microsoft Windows [Version 10.0.19043.1083]
(c) Microsoft Corporation. All rights reserved.
D:\projects\tina4examples\example1>php test.php
This is just text!
D:\projects\tina4examples\example1>
Now we would like to get it running as a website, and we can do it very easily using the built-in webservice of PHP!
php -S localhost:8080 test.php
As you can see you should get a link which you can click on and view in your browser.
D:\projects\tina4examples\example1>php -S localhost:8080 test.php
[Sat Jul 10 11:19:38 2021] PHP 7.4.13 Development Server (http://localhost:8080) started
You have just created a website. Feel free to edit the test.php file and add other echo statements to see what happens, below are some examples.
<?php
echo "This is just text!";
echo "<h1>A header tag </h1>";
//This is how you make comments, notice it won't appear when you refresh your browser
echo "<hr>";
echo "<button onclick=\"alert('Made you click!')\">Click Me</button>";
One meter down - what did we learn
As you can see, a website is just text, if you want to become good at making websites a command of HTML and CSS is essential. Before we carry on further you may want to go do some reading on HTML. There aren't that many tags, and you can play with them in the test program.