- CRUD with
- Pagination, configurable via
Album\Config\Albumclass. - Search
- Layout
- Flash Message after add/edit/delete
1. Get The Module
a. require via composer
composer require samsonasik/ci4-albumOR
b. manually, by go to app/ThirdParty directory in project root, and clone this repository to the app/ThirdParty directory:
cd app/ThirdParty
git clone [email protected]:samsonasik/ci4-album.gitsee https://help.github.com/en/github/authenticating-to-github/error-permission-denied-publickey# for common clone issue troubleshooting.
then register "Album" to App/Config/Autoload.php's psr4 property:
$psr4 = [
'App' => APPPATH, // To ensure filters, etc still found,
APP_NAMESPACE => APPPATH, // For custom namespace
'Config' => APPPATH . 'Config',
'Album' => APPPATH . 'ThirdParty/ci4-album/src', // <-- add this line
];2. Set CI_ENVIRONMENT, base url, index page, and database config in your .env file based on your existing database (If you don't have a .env file, you can copy first from env file: cp env .env first). If the database not exists, create database first.
# .env file
CI_ENVIRONMENT = development
app.baseURL = 'http://localhost:8080'
app.indexPage = ''
database.default.hostname = localhost
database.default.database = ci4_crud
database.default.username = root
database.default.password =
database.default.DBDriver = MySQLi3. Run db migration
php spark migrate -n Album4. Run db seed (Optional)
php spark db:seed "Album\Database\Seeds\AlbumSeeder"
php spark db:seed "Album\Database\Seeds\TrackSeeder"5. Run development server:
php spark serve6. Open in browser http://localhost:8080/album
Configure pagination per-page, by copy src/Config/Album.php file into app/Config directory, and modify the namespace to Config:
<?php namespace Config;
use CodeIgniter\Config\BaseConfig;
class Album extends BaseConfig
{
public $paginationPerPage = 10;
}
// app/Config/Album.phpIn above class, the paginationPerPage property's value can be changed.
On very first run, you need to create database, and migration for testing purpose with set phpunit.xml file from phpunit.xml.dist:
cd /path/to/modules/ci4-album
cp phpunit.xml.dist phpunit.xmland then configure the phpunit.xml to ensure it has a match db configuration with your local dev environment. If the database not exists, create database first.
<php>
<server name="app.baseURL" value="http://localhost:8080"/>
<const name="HOMEPATH" value="./"/>
<const name="CONFIGPATH" value="./vendor/codeigniter4/framework/app/Config/"/>
<const name="PUBLICPATH" value="./vendor/codeigniter4/framework/public/"/>
<env name="database.tests.hostname" value="localhost"/>
<env name="database.tests.database" value="ci4_crud_test"/>
<env name="database.tests.username" value="root"/>
<env name="database.tests.password" value=""/>
<env name="database.tests.DBDriver" value="MySQLi"/>
<env name="database.tests.DBPrefix" value=""/>
</php>Ensure that you use different DB for
testing.
After it, install the codeigniter and phpunit dependency:
cd /path/to/modules/ci4-album && composer installLastly, run the test:
vendor/bin/phpunitContributions are very welcome. Please read CONTRIBUTING.md