Difference between revisions of "6CS028 Workshop - Web Frameworks"

From mi-linux
Jump to navigationJump to search
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Main Page]] >> [[6CS028|Advanced Web Development]] >> [[6CS028 - Workbook|Workbook]] >> Week 02
+
[[Main Page]] >> [[6CS028|Advanced Web Development]] >> [[6CS028 - Workbook|Workbook]] >> Week 03
  
== Codeigniter==
+
== PHP Web Frameworks and databases ==
  
Please install Codeigniter and work through the first part of the tutorial:
+
=== CodeIgniter ===
* [https://codeigniter.com/user_guide/installation/index.html Installing CodeIgniter]
 
* [https://codeigniter.com/user_guide/tutorial/static_pages.html Tutorial part 1 - Static pages]
 
  
== Installing Codeigniter ==
+
This week, go through the following steps of the tutorial:
You can install either using Composer, or manually:
+
* [https://codeigniter.com/user_guide/tutorial/news_section.html News Section]
* [https://codeigniter.com/user_guide/installation/installing_composer.html Composer Installation]
+
* [https://codeigniter.com/user_guide/tutorial/create_news_items.html Create News Items]
* [https://codeigniter.com/user_guide/installation/installing_manual.html Manual Installation]
 
  
Either way, you will then need to set the correct file permissions via Putty, as follow:
+
Then read the following sections of the documentation, to consolidate the above:
<pre>
+
* [https://codeigniter.com/user_guide/database/index.html Working With Databases]
chmod 755 ci4-composer/ -R
 
chmod 777 ci4-composer/writable/ -R
 
</pre>
 
  
You will also need to update a couple of config files (located in app/Config).
+
=== Laravel ===
  
In App.php, populate the base URL with the URL to the folder where you installed CodeIgniter, for example for mine I have put:
+
This week, read the following sections of the documentation:
<pre>
+
* [https://laravel.com/docs/10.x/database Database]
public $baseURL = 'https://mi-linux.wlv.ac.uk/~in9352/ci4/public/';
 
</pre>
 
* in9352 should be replaced with your student number
 
* ci4 is the name of the folder in which you installed the framework
 
* public has to be there.
 
  
You also need to populate your MySQL connection details in the Database.php file:
+
And work through the remaining sections of the Bootcamp tutorial:
<pre>
+
* [https://bootcamp.laravel.com/inertia/editing-chirps Editing Chirps]
        'username' => '',
+
* [https://bootcamp.laravel.com/inertia/deleting-chirps Deleting Chirps]
        'password' => '',
+
* [https://bootcamp.laravel.com/inertia/notifications-and-events Notifications & Events]
        'database' => '',
 
</pre>
 
 
 
== Tutorial part 1 - Static pages==
 
Then please work through part 1 of the tutorial:
 
* [https://codeigniter.com/user_guide/tutorial/static_pages.html Tutorial part 1 - Static pages]
 
 
 
Take your time, read the instructions carefully, and ask questions in the workshops if you get stuck.
 
 
 
'''IMPORTANT: Remember that every time you create a new file or folder on the server, you need to set the permissions via Filezilla or Putty, or else you will get "Permission denied" errors.'''
 
 
 
Here is mine, to give you an idea of what it should look like once completed:
 
[https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home]
 
 
 
== Further information ==
 
 
 
=== How to include external files (images, css files, js files) on my pages ===
 
 
 
First make sure your base URL is populated in your config file, as explained above:
 
 
 
<pre>
 
public $baseURL = 'https://mi-linux.wlv.ac.uk/~in9352/ci4/public/';
 
</pre>
 
 
 
Then upload your files in your "codeigniter/public" folder, or in suitable sub-folders (codeigniter/public/images, codeigniter/public/css and codeigniter/public/js). Do '''NOT''' upload the files into your codeigniter/app folder or any of its sub folders.
 
 
 
In the example below I have uploaded an image file here:
 
*ci4/public/images/funny-cats.jpg
 
Important: Remember file permissions!
 
 
 
Then in my view, I used the base_url() helper:
 
<pre>
 
<img src="<?=base_url('images/funny-cats.jpg')?>" alt="Funny cat" width=300>
 
</pre>
 
 
 
The result: [https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home]
 
 
 
Note: The same would work with CSS files, JavaScript files etc.
 
 
 
=== Hiding "index.php" using URL rewriting ===
 
 
 
Edit the .htaccess file located in the public folder, and look inside the IfModule mod_rewrite.c block.
 
 
 
Populate the RewriteBase value with your base URL, like this:
 
 
 
<pre>
 
RewriteBase /~in9352/ci4/public/
 
</pre>
 
 
 
Then add the following lines at the end of the block (right before the /IfModule):
 
<pre>
 
RewriteCond $1 !^(index\.php|images|robots\.txt)
 
RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
 
RewriteRule ^(.*)$ index.php/$1 [L]
 
</pre>
 
 
 
Working example here:
 
* With index.php: [https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/index.php/pages/view/home]
 
* Without index.php: [https://mi-linux.wlv.ac.uk/~in9352/ci4/public/pages/view/home https://mi-linux.wlv.ac.uk/~in9352/ci4/public/pages/view/home]
 
 
 
Both work (the second one is mapped to the first one behind the scenes).
 

Latest revision as of 12:44, 17 January 2024

Main Page >> Advanced Web Development >> Workbook >> Week 03

PHP Web Frameworks and databases

CodeIgniter

This week, go through the following steps of the tutorial:

Then read the following sections of the documentation, to consolidate the above:

Laravel

This week, read the following sections of the documentation:

And work through the remaining sections of the Bootcamp tutorial: