Esta é uma estrutura poderosa de PHP com uma pegada muito pequena, construída para desenvolvedores que precisam de um kit de ferramentas simples e elegante para criar aplicativos da Web completos. Crédito para lilcasoft.info
Curso de Campa rápida para usar a estrutura: https://youtu.be/x6lnqhxg-3y
Como usar ???
Descompacte a pasta Lilca_MVC_Framework e você verá que existem 4 pastas críticas denominadas modelos , visualizações e controladores e rotas
Na pasta Controllers, temos um controlador de volta, o que é padrão, portanto, sempre que você abrir o aplicativo, ele o direcionará para o controlador de volta.
Na pasta Models, temos 2 arquivos de classe chamados mysqli_db.php e pdo_db.php , que são incorporados em classes de modelos para PDO e MySQLI. Depende do objetivo do seu projeto, você se estende a um deles para usar suas próprias propriedades e métodos. (Por padrão, ele usará PDO_DB em controladores/coreController.php, faça alterações neste arquivo se você usar a classe mysqli_db )
Na pasta Views, compartilhamos a pasta , onde contém vistas parciais e possui layout estático, como cabeçalho, rodapé e navegação, passando por toda a página. O arquivo _header.php também incluiu a biblioteca jQuery e Boostrap para você.
Agora, basta dar uma olhada no arquivo em rotas/default_route.php . Este arquivo é um componente crucial para mapear seu MVC juntos.
Reconfigurar URL base no arquivo de índice
Vá para o arquivo index.php e defina o URL base do seu projeto. É crucial para a referência adequada para qualquer link e imagens posteriormente. A sintaxe para obter base_url é: rotas :: getBaseurl ();
Reconfigure .htaccess Arquivo
Para executar o projeto de maneira MVC, você deve fazer alterações nesse arquivo. No RewriteBase, basta definir a base da pasta do aplicativo. Em padrão, será /lilca_mvc_dev /
< IfModule mod_rewrite.c >
RewriteEngine On
RewriteBase /lilca_mvc_dev/
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteCond %{REQUEST_FILENAME} ! -l
RewriteRule ^(. * )$ index.php/ $1 [QSA,L]
< /IfModule >
< IfModule ! mod_rewrite.c >
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
ErrorDocument 404 /index.php
< /IfModule >1 - Crie um novo controlador
Crie um novo arquivo na pasta controladores e nomeie seu controlador com o controlador como sufixo. Abra seu controlador e faça o seguinte código de abertura:
class YourController extends CoreController { //Extend CoreController to use built in function
public static function index() {
return " This is index page " ;
}
}2 - Crie uma nova visão
Crie um novo arquivo na pasta Views (ou seja.: Test.php) e inicie sua sintaxe HTML e CSS aqui.
3 - Crie um novo modelo
Crie um novo arquivo na pasta Modelos e faça o seguinte código de abertura:
class YourModel extends DB {
public static function addRow(){
//Code your logic here
}
public static function updateRow(){
//Code your logic here
}
public static function deleteRow(){
//Code your logic here
}
public static function displayRow(){
//Code your logic here
return " This is display row function " ;
}
}4 - Passando dados do controlador para visualizar
No seu arquivo de controlador, adicione o Paratemeter à função Index () para que ele possa retornar o valor da visualização. Lembre -se de que isso ecoará o valor sem colocá -lo na visão criada real.
class YourController extends CoreController {
public static function index($val) {
return " You enter: " . $val ;
}
}5 - Crie uma nova página
Vá para a pasta de rotas e abra o arquivo default_route.php ou crie um novo e adicione o seguinte código:
Routes::addPage( " your_page_name " , function () { //put in your desire page name in first parameter
echo YourController::index( " Hello world " ) ;
});6 - Anexe visões parciais a uma nova página
A rota trata todos os arquivos em ordem de pilha, o que significa que o que você colocar primeiro será executado em primeiro lugar. Dê uma olhada neste exemplo:
Routes::addPage( " your_page_name " , function () {
HomeController::addView( " Shared/_header " ) ;
HomeController::addView( " Shared/_navigation " ) ;
HomeController::addView( " content " ) ;
HomeController::addView( " Shared/_footer " ) ;
});A página será executada no arquivo de cabeçalho, navegação, conteúdo, rodapé em ordem, respectivamente. Se você não deseja anexar a navegação à View Home, basta removê -la da rota.
7 - Passando dados de rota para visualização em rota.php
Routes::addPage( " test_page " , function () {
$fooArr = [1,2,3,4,5] ;
HomeController::addView( " Shared/_header " ) ;
HomeController::addView( " Shared/_navigation " ) ;
HomeController::addView( " content " , $fooArr ) ;
HomeController::addView( " Shared/_footer " ) ;
});8 - Obtenha o resultado do modelo para o controlador e passe para visualizar
Adicionando função chamada showData () ao seu arquivo de controlador e carrega o arquivo de modelo que você deseja usar usando self :: loadmodel ("yourmodel")
class YourController extends CoreController {
public static function index($val) {
return " You enter: " . $val ;
}
public static showData () {
self::loadModel( " YourModel " ) ; //you need to load your model class name before you can use function in that particular model.
$data = YourModel::displayRow (); // assign result from model to variable called $data
return $data ;
}
}Abra o arquivo rota.php na pasta de rotas e faça assim:
Routes::addPage( " test " , function () {
$result = YourController::showData ();
HomeController::addView( " Shared/_header " ) ;
HomeController::addView( " Shared/_navigation " ) ;
HomeController::addView( " content " , $result ) ; //pass data to view content.php
HomeController::addView( " Shared/_footer " ) ;
});Abra o arquivo Content.php na pasta Views e faça o código a seguir para obter o valor.
$get_data = YourController:: $viewBag ;
echo $get_data ; //output the result to screenYourController :: $ Viewbag é a propriedade pública pertence ao seu controlador que contém dados que você passa diretamente da rota para a visualização. Passar dados podem ser qualquer coisa (matriz, número inteiro, string ...)
9 - Obtenha dados do URL formado
Para obter dados de um URL como: Produto/categoria/item, você usará rotas :: url_segment (index_of_segment_in_url) para obter esse valor no URL formatado.
Basicamente, o URL excluirá o nome da pasta do projeto e contará apenas do nome da página até o final. Por exemplo, o produto será o nome da página e o segmento de índices é 1, a categoria terá o segmento de índice 2 e o item terá o segmento de índice de 3 e assim por diante. Caso contrário, você pode usar a sequência de consulta em vez de usar URL formado.
10 - Como usar a biblioteca de validação para validar o campo de formulário
Inclua a biblioteca de validação no seu arquivo usando:
require_once " validation.php " ;Para testar o formato da entrada usando esta função:
Validation::testFormat( $test_value , $name_of_format ) ;Esta função retornará true se corresponder, caso contrário, false
Lista de formato de teste: data, email, código postal, nome, telefone, moeda, URL, nome de usuário, senha
Então agora você sabe como transformar seu projeto em MVC. Para resumir, existem 4 etapas principais de criação da estrutura MVC para o seu aplicativo.
1. Create a model in Models folder
2. Create a controller in Controllers folder
3. Create a view for controller in Views folder
4. Create a route to connect your MVC in Routes folderSaúde!!!
Lilca Dinh