|
|
(17 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 ===
| |
− | | |
− | Create a .htaccess file in your CodeIgniter root folder, and paste the following rules inside it:
| |
− | | |
− | <pre>
| |
− | RewriteEngine on
| |
− | RewriteBase /~in9352/codeigniter3/
| |
− | RewriteCond $1 !^(index\.php|images|robots\.txt)
| |
− | RewriteCond %{REQUEST_URI} !\.(css|gif|ico|jpg|js|png|swf|txt)$
| |
− | RewriteRule ^(.*)$ index.php/$1 [L]
| |
− | </pre>
| |
− | | |
− | Note: replace "in9352" by your student number.
| |
− | | |
− | Working example here: [http://mi-linux.wlv.ac.uk/~in9352/codeigniter3/news/index http://mi-linux.wlv.ac.uk/~in9352/codeigniter3/news/index]
| |