LAMP e CodeIgniter

LAMP é um acrônimo para um modelo de pilhas de soluções de serviço da web: Linux, o servidor HTTP Apache, o sistema de gerenciamento de banco de dados relacional MySQL e a linguagem de programação PHP.

Construindo um banco de dados MySQL

Usaremos uma interface web para acessar os dados em nosso banco de dados.

  • Faça login com seu login / senha de root (definido na instalação acima): http://localhost/phpmyadmin
  • A coluna da esquerda contém uma lista de todos os bancos de dados que você possui atualmente.

    • mysql: contém informações sobre o servidor de banco de dados MySQL.
    • information_schema: contém informações sobre todos os outros bancos de dados em seu computador.
  • Na interface de bancos de dados, é apresentada uma lista de todos os bancos de dados.

  • Acima dessa lista deve haver um formulário denominado “Criar novo banco de dados” com um campo de texto.

  • Crie tabelas dentro. Escolha os tipos de seus dados.
    Cada tabela deve sempre ter uma coluna de id (número inteiro de auto-incrementação, o que significa que cada novo registro receberá automaticamente um valor de id, começando em 1). Você pode fazer isso marcando a caixa de seleção A_I.

  • Adicione alguns dados (usando inserir). O banco de dados está localizado em
    /var/lib/mysql

Base de consulta MySQL

  • Selecionando itens:
Retrieve all of the records (* means columns):
SELECT
* FROM db_name;
Select only some columns:
SELECT col1
, col2 FROM db_name;
Select only some values from some column:
SELECT
* FROM db_name WHERE col1 = 'item';
Select the first 10 items:
SELECT
* FROM cars WHERE make = 'Porsche' LIMIT 10
  • Inserindo um item:
    INSERT INTO db_name (col1, col2, col3) VALUES ('item1', 'item2', 'item3')

  • Atualizando um item:
    UPDATE db_name SET col1 = 'item' WHERE col2 = 'item2' AND col3='item3'

  • Excluindo itens:
    DELETE db_name WHERE col1 = item"

PHP Básico

Variáveis:

<? php 
$result
= 4*8;
?>
Comments with / or ./* */.

Print function:

<? php
echo
"that's a print";
?>

Funções:

<? php
function print_this($name){
echo
'Print this ' . $name . '.';
return 'nice printing';
}
extra_print
= print_this('aaaaa');
print(extra_print);
?>

Quando um arquivo PHP é acessado, todas as suas funções são inicializadas antes que qualquer uma das outras linhas de código seja executada. Contanto que uma função seja definida no mesmo arquivo, ela pode ser chamada de qualquer lugar dentro desse arquivo.

O escopo de uma variável se refere ao domínio no qual ela pode ser referenciada. No PHP, quaisquer variáveis ​​inicializadas e contidas dentro de uma função em si só estão disponíveis dentro dessa função.

Arrays

Criação de uma matriz vazia:
<? php $new_array = array(); ?>

Adicionando elementos: Criando uma matriz com valores já:
<? php $new_array[] = 1; $new_array[] = 5; ?>

<? php $other_array = array(1,2,3); ?>

Em PHP, arrays são como dicionários :. Se você adicionar itens curtidos acima, ele aumentará de 0. Você também pode fornecer a chave:
<? php $dictionary['dog'] = 1; ?> echo $dictionary['dog'];

Multi-arrays:

$cars = array
(
array
("Volvo",22,18),
array
("BMW",15,13),
array
("Saab",5,2),
array
("Land Rover",17,15)
);

rotações

foreach:
<? php
foreach ($array_number as $variable_representing_current_item){
}
?>

para:

<?
$other_array
= []
for ($i; $i<4; $i++){
$other_array
[] = $i;
} ?>

O padrão Model-View-Controller (MVC)

Em alto nível, o fluxo de um aplicativo da web é:

  • Solicitação do usuário para visualizar uma determinada página digitando uma URL no navegador.
  • O aplicativo determina o que precisa ser exibido.
  • Os dados necessários para a página são solicitados e recuperados do banco de dados.
  • Os dados resultantes são usados ​​para renderizar a exibição da página ao usuário.

A estrutura MVC é baseada na presença de 3 componentes principais: modelos, visualizações e controladores.

Modelos: Representando o Objeto de Dados

Responsável pela comunicação com o banco de dados.
Composto por duas partes:

  • campos: Responsáveis ​​por representar os vários dados dentro de um objeto (as informações dentro do banco de dados).
  • métodos: Fornece funcionalidade extra em nossos modelos. Permitir a manipulação das informações iniciais do modelo ou realizar ações adicionais relacionadas aos dados.

Controladores: cavalos de trabalho

Determine quais objetos recuperar e como organizá-los.

Manipule a solicitação do usuário, recupere as informações adequadas e passe-as para a visualização adequada.

Solicitações diferentes são tratadas por diferentes ações do controlador.

Visualizações: o que o usuário vê

Responsável pela camada de apresentação, a exibição visual real.

Cada página individual em um aplicativo da web tem sua própria visualização.
As visualizações contêm código HTML e PHP (se esta for a linguagem de backend) para injetar informações dos objetos, passadas para a visualização por meio de um controlador.

Uma versão simplificada da visualização do perfil do Facebook:
<section id="personal_info"> <?php // some code ?> </section> <section id="photos"> <?php // some code ?> </section>

Frameworks

A base / fundação de seu aplicativo da web.

Para PHP, podemos baixar o CodeIgniter, renomear para o nome do nosso projeto, copiá-lo para a pasta / var / ww e abri-lo na pasta localhost /. Podemos modificar os arquivos de nosso aplicativo agora.

Se você obtiver o erro 403 proibido, verifique as permissões e digite: (restorecon é usado para redefinir o contexto de segurança (tipo) (atributos estendidos) em um ou mais arquivos).
restorecon -r /var/www/html

O guia de uso pode ser visto em
http://localhost/APP_NAME/user_guide/

CodeIgniter Basics

A pasta do sistema contém todo o funcionamento interno.
A pasta do aplicativo é onde todo o código específico do nosso aplicativo ficará, incluindo modelos, controladores e visualização.

Controladores (application / controllers / welcome.php)
A classe de boas-vindas é inerente à classe CI_Controller.

Um índice se refere a um local principal / padrão.
A ação do índice é responsável por carregar a visão que renderiza a mensagem de boas-vindas: No caso dos controladores, cada ação é frequentemente associada a uma URL.
public function index() { $this->load->view('welcome_message'); }

A visualização da ‘mensagem de boas vindas ‘ está em applications / views / welcome message.php

Rotas

A maneira que nosso aplicativo da web sabe para onde direcionar nossos usuários, com base nas URLs que eles inserem, é estabelecendo rotas. As rotas são um mapeamento entre URLs e ações específicas do controlador.

Podemos configurar rotas em application / config / routes.php:
$route['desired-url-fragment'] = "controller-name/action-name”;

Algumas rotas funcionam automaticamente: você pode fazer referência a qualquer ação do controlador usando o seguinte formato de URL:
http://localhost/APP_NAME/index.php/[controller-name]/[action-name]

Por exemplo:
http://localhost/APP_NAME/index.php/welcome/index/

Configurando nosso aplicativo para usar o banco de dados

O CI tem um suporte integrado para interagir com um banco de dados.
Em nosso aplicativo, o arquivo de configuração do banco de dados é armazenado em application / config / database.php

Para conectar nosso aplicativo ao banco de dados MySQL, atualize este arquivo para:

$db['default']['hostname'] = 'localhost';
$db
['default']['username'] = 'root';
$db
['default']['password'] = '<your-root-password>';
$db
['default']['database'] = '<database-name-from-before';

Para ter acesso à funcionalidade do banco de dados em todo o aplicativo web, carregue automaticamente a biblioteca do banco de dados alterando o arquivo application / config / autoload.php com: Verifique se a página ainda está funcionando bem
$autoload['libraries'] = array('template', 'database'); $autoload['libraries'] = array('database');

($autoload['libraries'] = array('template', 'database'); does not work yet).

Modelos

Cada modelo começa da mesma forma, pois pretendem cumprir a mesma função geral.

Criamos um novo arquivo na pasta de aplicativos / modelos chamado todo model.php com o código:
“ `
<? Php if (! Defined (‘BASEPATH’)) exit (‘Nenhum acesso direto ao script permitido’);
classe O
modelo Todo estende o modelo CI {
function _
construct () {
parent :: _ construct ();
}
“ `
A segunda responsabilidade dos modelos é interagir com nosso banco de dados. Precisamos implementar uma maneira de nosso
modelo de tarefas recuperar todas as tarefas em nosso banco de dados. Adicionamos uma função obter todas as entradas abaixo do construtor: Neste trecho, consultamos nosso banco de dados por ordem, usando a ordem crescente.
function get_all_entries() { //$query = $this->db->get('todos'); $query = $this->db->order_by('order','ASC')->get('todos'); $results = array(); foreach ($query->result() as $result) { $results[] = $result; } return $results; }