traineratwot / web-tool-template
Installs: 32
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
pkg:composer/traineratwot/web-tool-template
Requires
- php: ^8.1
- bramus/router: ~1.6
- gettext/gettext: ^5.6
- gettext/js-scanner: ^1.1
- gettext/json: ^1.0
- gettext/php-scanner: ^1.3
- gettext/translator: ^1.0
- nelexa/zip: ^4.0
- phpmailer/phpmailer: ^6.5
- smarty/smarty: ~4.2
- tiben/crontab-manager: ^1.3
- traineratwot/cache: ^2.0
- traineratwot/composer-config: ^1.1.0
- traineratwot/pdo-extended: dev-master
- traineratwot/php-cli: dev-main
Requires (Dev)
- jetbrains/phpstorm-attributes: ^1.0
- roave/security-advisories: dev-latest
README
Простой фреймворк для небольшого веб-приложения
includes
- Bootstrap - style
- Jquery - javascript
- Smarty - php templates
- gettext - locale
- LiteSql,mysql,... - database
Установка
- распаковать это в директорию
- запустить
composer create-project traineratwot/web-tool-template {project-name} cd {project-name}- !обязательно!
composer update - Настроить подключение к базе данных в
core/config.php composer wt:Install- необязательно
composer wt:composer-config-update- поможет вашей IDE ориентироваться в константах - необязательно
wt DevServer- запустит наблюдатель который бдует обновлять страницу в браузере при изменении фалов
Instructions
-
File Structure
locale=>gettextпереводыcore=> Закрытый от внешнего доступа каталог с ядром системыcore/model=> Папка с основными скриптами. ничего там не трогайтеcore/pages=> Каталог cо страницами сайта. имена файлов должны совпадать с URL либо используйтеcore/router.phpcore/view=> Каталог с php-кодом, который выполняется перед рендерингом соответствующей страницы. имена файлов должны совпадать с URL либо используйтеcore/router.phpcore/templates=> Каталог сSmartyшаблонамиcore/database=> Каталог с базой данных SQLite, Вы можете использовать любую базу данныхcore/ajax=> каталог с файлами php, доступными пользователям. имя файла должно совпадать с именем метода в поле действия в форме. вызов index.php?a=[имя файла без расширения]core/cron/controllers=> Папка с крон заданиями. смотриwt croncore/config.php=> основной файл конфигурацииcore/classes=> Каталог с вашими классами и скриптамиcore/classes/smarty/plugins=> Каталог с пользовательскимиSmartyплагинамиcore/classes/tables=> Каталог с классами расширяет BdObject для работы с таблицей БД. смотриwt make tablecore/classes/traits=> Каталог с полезнымиtraitscore/components=> Каталог с компонентами
-
console tool
-
wt error- показать журналы ошибок -
wt error clear- очистить журналы ошибок -
wt cache- очистить кеш ошибок -
wt makeAjax {name} {type? 'get'|'post'}- создать класс метода ajax. eg:wt make ajax "logout" -
wt makeTable {name} {primaryKey? 'id'}- создать класс объекта таблицы. eg:wt make table "users" -
wt makePage {url} {template? 'base'}- создать класс и шаблон страницы для URL. eg:wt make page "catalog/page1 base" -
wt makeCron {path}- создать cron. eg:wt make cron "category/test" -
wt lang {locale}- создать файл локали .po из проекта исходного кода. eg:wt lang ru_RU.utf8 -
wt lang clear- очистить кеш языков eg:wt lang clear -
wt lang all- показать доступные языки eg:wt lang all -
wt cron {path to controller}- сгенерировать команду запуска для crontab eg:wt cron "category/test.php" -
wt cron {path to controller} run- попробовать запустить задание cron:wt cron "category/test.php" run
#in develop
components create {name}- создает новый компонентcomponents package {name}- упаковывает компонент в транспортный пакетcomponents install {name}- устанавливает компонент из транспортного пакетаcomponents make{Ajax|Table|Page} {name} ...- аналогичноwt make...только для компонента
-
-
Пользователь
- login:
admin@example.com - password:
admin123
- login:
-
Локализация
- Отредактируйте функцию
WT_LOCALE_SELECT_FUNCTIONв конфиге под свой способ определить язык пользователя - Создать файл локали .po из исходного кода проекта eg:
wt lang ru - Отредактируйте файл .po в паке
locale. Я использую poEdit для этого - Готово
- Если не работает - отключите
gettextв конфиге
API
Cache
/** * @param $key mixed * @param $value mixed * @param $expire int * @param $category string * @return mixed */ Cache::setCache($key,$value,$expire=600,$category = ''); /** * @param $key mixed * @param $category string * @return mixed|null */ Cache::getCache($key,$category = ''); /** * @param $key mixed * @param $category string * @return bool */ Cache::removeCache($key,$category = '');
Console
Console::info('text') //print cyan text; Console::success('text') //print green text; Console::warning('text') //print yellow text; Console::failure('text') //print red text; Console::prompt('Are you sure you?', ?hidden)// ask user in console /** * @param $string * @param $foreground_color * @param $background_color * @return mixed|string */ Console::getColoredString('text','red','yellow') //return colored string Console::foreground_colors //list text color Console::background_colors //list background color
Config
Config::get('key','?namespace') //return value; Config::set('key','value','?namespace') //set value; // тоже самое но с возможностью перезаписывать в процессе выполнения ConfigOverridable::set('OverridableKey','value','?namespace') ConfigOverridable::get('OverridableKey','?namespace') Config::get('OverridableKey','?namespace') //return value;
FAQ
- Композер выдает фатальную ошибку?
- Это значит что у вас устаревшая версия
composerобновите его или используйтеphp composer.phar ...
- Это значит что у вас устаревшая версия