Download the PHP package sme/app without Composer

On this page you can find all versions of the php package sme/app. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package app

SME

simple mvc framework

Это нечто похожее на laravel но намного быстрее и проще

Внимание, документация является устаревшей, в ближайшее время постараюсь переписать

Установка
Первый запуск

Route
Controller
View
Compressor
Model
Storage
Cache
Http client
Exceptions
Log
Console

Установка:

Первый запуск:

В директории с проектом просто выполнить команду

Готово! Теперь можно открыть браузер по адресу http://127.0.0.1:8000

у вас должна открыться стандартная страница движка.

Всё ваше приложение находится в папке app

Маршруты в файле routes/web.php

Route:

В файле /route/web.php

Создаём маршрут по пути / и вызываем метод index в контроллере mainController, так же даём имя маршруту home в цепочке методов ->name()
Так же можно создать маршрут с замыканием

Для отправки переменных в маршруте поместите их в фигурных скобках прямо в URL

Controller:

В папке /controller создаём файл контроллера, например mainController.php шаблон есть в файле def.php

Создаём нужный нам метод, например index()
Для получения данных от клиента используется класс request или хелперrequest()
Получаем переменную из маршрута:
Или
Получаем переменную из формы:

View:

В папке /app/view создаём файл вида, например home.php

Передать переменную в вид из контроллера или замыкания маршрута
В видах мы можем делать как и обычные вставки php ` так и компилируемые с помощью спецсимволов{{Переменная или функция}}или@функция`
Наследование lay - папка, html - файл
Обьявить секцию
или
Получить секцию
Обьявить переменную:
Перебрать массив
Добавление собственных функций в компилятор
В файле appService.php в методе register или же подключить свой класс через appService
Compiler::declare(имя функции,анонимная функция(агрументы переданные в функцию,последним всегда будет анонимная функция для добавления в конец буффера))
Готово, вызываем в виде
Результат, в том месте где была вызвана функция будет выведено 6
в самом низу страницы будет выведено 2

Compressor:

Compressor - инструмент для обьединения подключаемых css или js файлов в один

Просто передаём компрессору наши файлы в виде массива и указываем какой файл должен получиться

Пример с css

В результате получаем всего один файл что положительно сказывается на скорости загрузки страницы

Если содержимое файлов отлично от text/javascript или text/css можем указать своё в 3 агрументе функции

Model:

В папке /app/model создаём файл модели, например db.php шаблон есть в файле def.php

По умолчанию имя таблицы должно быть таким же как и название класса модели, но можно переназначить с помощью свойства класса $table
Для работы с моделью нужно подключить её в контроллере
Или если нужно использовать в замыкании маршрута
Чтобы обратится к модели используем тот же метод только без аргументов: model()->имя модели:
Так же можно обратится к модели сразу после подключения
Для работы с данными используется цепочка методов родительского класса:

Примеры:

Получаем массив:
Создаём запись:
Редактируем запись (метод find() используется для получения записи по ID):
Удаление записи:

Storage:

Класс для работы с хранилищем (в стадии разработки)

Сохранить файл на диск
Получить файл с диска
Удалить файл
Проверить существует ли файл
Так же можно сохранять файлы сразу из при их получении из формы

Cache:

В кэше можно хранить любые данные и файлы от одной секунды до бесконечности

Сохранить данные в кэше put(ключ,данные,время хранения в секундах)
Получить данные
или получить и сразу удалить
Удалить
Проверить сущеутвование по ключу

Http client:

Простой GET запрос

В ответ получаем обьект:

POST запрос с параметрами

По умолчанию запрос выполняется в виде json обьекта с типом application/json
Если нужно выполнить обычный application/x-www-form-urlencoded то добавьте метод asForm перед выполнением запроса
Если нужен multipart/form-data

Basic авторизация

или Digest авторизация
если Realm статичен, можем указать

Таймаут в секундах

Вызвать исключение в случае ошибки

Если нужно обработать ошибку, можно использовать замыкание

Exceptions:

Обьявить исключение можно в appService.php

Вызываем исключение

Или через хелпер
Так же мы можем переназначать системные исключения
Например переназначим исключение валидации на вывод json

Log:

Логирование

Включить логирование можно в файле конфигурации .env
По умолчанию лог сохраняется по пути ROOT/storage/.log/
Сохранить информацию в лог
Если нужно записать ошибку используется метод error
Лог так же выводится в консольных командах
Например если мы хотим вывести таймер или что то подобное можно использовать метод thisLine в этом случае информация не запишется в файл а будет перезаписываться на этой же строке в консоле

Console:

Команды

Запустить Dev server
Очистить кэш

Запуск приложения из консоли

Например напишем отображение времени в консоли
В файле route/console.php создаём маршрут с методом console с замыканием
Запускаем в консоли
Передача аргументов из консоли
Выполняем

All versions of app with dependencies

PHP Build Version
Package Version
Requires php Version ^7.0.0
sme/framework Version >=0.0.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sme/app contains the following files

Loading the files please wait ....