Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''php laravel''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 8 registros

  1. Faz quase duas semanas que eu encontrei um valor nulo no banco de dados, onde eu não esperava. No PHP, eu tinha o seguinte código: $vendido=date('Y-m-d'); $horavenda=date('Y-m-d H:i'); $query=$mysqli("update tbpedido set vendido='$vendido', 'horavenda'=$horavenda" where ped=2023); Não há como passar um valor nulo nessas condições. Depois de duas semanas, é que eu lembrei que o meu irmão tem acesso ao meu projeto Laravel, que basicamente é um xerox do projeto PHP. Mas não é. No controller eu encontrei isso: $vendido=date('Y-m-d H:i'); tbpedido::where('ped',2023)->update(['vendido'=>$vendido]); Ou seja, no Laravel eu esqueci de definir o valor da hora da venda, e foi assim que o banco de dados ficou com o valor nulo. Outro erro bastante grave é o princípio da atomicidade. Data da venda e hora da venda é a mesma coisa no mundo do banco de dados, não há porque ter dois campos para mostrar o mesmo valor. Para separar data da hora, isso dá para fazer com o comando: data da venda = date('d/m/Y',strtotime($vendido)) e hora da venda = date('H:i',strtotime($vendido)). Mesmo assim, estou contente por ter encontrado um erro em apenas duas semanas. Geralmente eu gastava vários meses.
  2. Ontem eu vi o projeto Chirp do Laravel, mas dessa vez eu usei o caminho do Inertia/Vue, ele é completamente diferente do Blade, mas ambos terminam com a sofisticada rotina de notificação. O Chirp tem muita coisa para ensinar, e o máximo que eu consegui aprender é pegar as informações do <form> e mandar direto para o banco de dados para acrescentar ou editar. O Chirp tenta ensinar a autenticar e validar os dados, isso eu ainda não aprendi, mas o projeto Chirp é muito bacana, onde só você pode acrescentar, editar ou deletar as mensagens que são suas. A dos outros, você não pode fazer nada disso. Eu não consegui testar a rotina de notificação, pois ele pede para conectar o PHP no serviço de email, e isso eu ainda não sei fazer. O máximo que eu consegui com o PHP foi colocar o orçamento na tela do navegador. Agora estou pensando em pedir para o PHP transformar as informações da tela do navegador em pdf, pegar o número do celular do cliente e o mandar o pdf pelo WhatsApp. Alguém aqui já viu alguém tentando fazer essa mágica com o PHP ou Laravel?
  3. Ontem eu usei o método Find do Laravel pela primeira vez, e eu gostei muito dele, e só agora é que eu consigo enxergar a diferença entre o PHP e o Laravel. Para saber a descrição de um produto, a gramática do MySQL é Select produto from tabela_produto where codigo = @codigo. A gramática do PHP é assim $query=$mysqli->query("select produto from tabela_produto where codigo = $codigo"); E a gramática do Laravel é assim $produto=tabela_produto::where('codigo',$codigo)->value('produto'); O problema dessa gramática é que ele sempre precisa estar conectado no banco de dados. Tanto o PHP quanto o Laravel são capazes de jogar toda a tabela de produtos no terminal do cliente. A pergunta é: como o cliente vai consultar a tabela? No caso do PHP, o desenvolvedor vai precisar da tecnologia do JavaScript. Mas o Laravel já tem uma gramática mais robusta, olha só que bacana: Model class tbprod extends Model{ use HasFactory; protected $table="tbprod"; protected $fillable=['prod','custo','codforn','marg','loc','emb','cf','codbar']; protected $primaryKey="codprod"; public function vinculados(){return $this->hasMany(tbprod::class,'codforn','codforn');}} Controller Public Function inicio(Request $request){ $produtos=tbprod::all(); $vinculados=tbprod::with('vinculados')->where('codforn','like','{%')->orderBy('prod')->get(); return view('multiplo',compact('produtos','vinculados')); } Blade <table class="table table-striped"> @foreach($vinculados as $vinc) <tr><td>Produto Principal<td>{{$produtos->find(json_decode($vinc->codforn)->cod)->prod}} <tr><td>Produto Vinculado<td>{{$vinc->prod}} @endforeach </table> Eu adaptei o meu código baseado numa sugestão do Lary do Laracasts, mas ele apagou a sugestão, e assim não sei se é necessário a "relação" vinculados que foi definido no Model. O importante é o arquivo blade, onde usei pela primeira vez o método find. A tabela produto tem o campo codforn, por exemplo, "banana dúzia", codprod=15, codforn=1234. Depois eu criei o produto "banana peça", codprod=16, codforn='{"cod":15,"conv":12}'. A banana peça está amarrado com o código 15. Para saber quem era o código 15, eu forçava o Blade a conectar com o banco de dados assim {{app\models\tbprod::where('codprod',$codprod)->value('prod')}} e essa conexão era repetida tantas vezes para quantos produtos vinculados houvesse. Já o find faz o mesmo serviço, mas sem precisar de nenhuma conexão.
  4. Eu tenho uma função chamada pagar, mas eu gostaria que só o usuário com o id=1 tivesse acesso a essa função. Hoje eu encontrei uma solução, não sei se é correto, mas ele funcionou para mim. No PHP eu coloquei a seguinte instrução: if($_SESSION['id']!==1){header('location:menu.php');} No Laravel, eu usei essa instrução: if(auth::id()!==1){return redirect('menu');}
  5. Esse é o método GET no PHP: <?php $mysqli=new mysqli("localhost","root","","astudy"); if(isset($_GET['up'])){ $novotexto=$_GET['up']; $query=$mysqli->query("update teste set texto='$novotexto' where id=1");} $query=$mysqli->query("select texto from teste where id=1"); $texto=$query->fetch_assoc()['texto']; echo " <form> <input name=up value=$texto> <input type=submit> </form>"; Para fazer um código equivalente no Laravel, você precisa definir o Route, o Model, o Controller e o Blade, aqui só vou listar os dois últimos: teste.blade.php <form> <input name=up value={{$texto}}> <input type=submit> </form> testeController <?php namespace App\Http\Controllers; use App\Models\teste; use Illuminate\Http\Request; class testeController extends Controller { public function teste (Request $request){ if($request->input('up')){ $up=$request->input('up'); teste::where('id',1)->update(['texto'=>$up]);} $texto=teste::where('id',1)->value('texto'); return view('teste',['texto'=>$texto]); } } Os dois códigos funcionam somente se você colocar qualquer coisa na caixa do <input>, mas se você não colocar nada, só o código do PHP é que funciona. Para fazer o GET funcionar no Laravel eu fiz uma tremenda gambiarra e já fiz ele funcionar. O problema é o PHP, como ele consegue definir o valor da variável $_GET['up'], se o indexador só tem um lado da equação assim "up=". O PHP é fascinante!
  6. Eu criei o projeto PHP em 2020, antes disso ele se chamava projeto MS Access 1990. O MS Access já tem uma rotina pronta para autenticar a senha, esse não é o caso do PHP. No caso do PHP, eu fiz essa gambiarra: if(!$row){$_SESSION['mensagem']="email incorreto";header("location:index.php"); Ele nunca funcionou! Lá em 2022 eu comecei a estudar o Laravel e eu conheci um facilitador chamado middleware. Ele é bacana, bastante funcional, mas não me ajudou a consertar o projeto PHP, o middleware é tão obscuro quanto a rotina de autenticação do MS Access. Finalmente, em 2023, eu tomei coragem e usei o poderoso "var_dump(!$variavel);exit;" aqui e ali até achar o erro, até eu chegar nessa linha: if(!$row){$_SESSION['mensagem']="email incorreto"; header("location:index.php");var_dump($row);exit; Para a minha surpresa, a rotina funcionou, depois de três longos anos! É óbvio que não foi o var_dump que consertou o erro, mas sim o comando exit. Ou seja, o comando header não funciona, se você não fizer o programa parar. Que coisa!
  7. No começo do manual do Laravel 10 tem o projeto Chirps, e lá encontrei a seguinte rota: Route::resource('chirps',ChirpController::class) ->only(['index','store','edit','update','destroy']) ->middleware(['auth','verified']); Ou seja, se você digitar no navegador localhost:8000/chirps, você vai parar na tela do login. Para proteger os meus códigos em laravel, eu usei esse esquema: Route::middlaware(['auth','verfied])->group(function(){ ... }); ou seja, eu ajuntei todas as minhas rotas dentro de uma rota maior. Para proteger ainda mais os códigos em Laravel, eu fui em config\session.php e alterei 'expire_on_close' => true, ou seja, assim que você fecha o navegador, você está automaticamente deslogado. O Laravel parece bacana, ele simplifica o que parece ser bem complicado. O problema é que no Hostinger eu tenho tanto o projeto PHP como o Laravel, mas eu não faço a menor ideia de como fazer essa tecnologia funcionar no mundo do PHP. Alguém tem um tutorial para me indicar?
  8. Ontem eu estava escrevendo um código num arquivo blade.php no Laravel, e tentei escrever $vetor->Amaral e eu recebi a mensagem de erro. Então, mudei para $vetor['Amaral'] e também recebi mensagem de erro. Para saber o que eu estava fazendo de errado, eu usei o comando dd($vetor); e o Laravel exibiu um enorme painel cheio de informação chamado Collections. O PHP, até eu onde eu sei, não tem esse recurso chamado Collections. O máximo que ele tem é um json, e montei esse código para saber a diferença entre um vetor e um objeto: <?php $vetor=[0=>["Amaral"=>"Ellen"]]; var_dump($vetor); // array 0=> array 'Amaral' => string 'Ellen' $subvetor=$vetor[0]; echo $subvetor['Amaral']; // Ellen $json=json_decode(json_encode($vetor)); var_dump($json); // array 0=> object(stdClass) public 'Amaral' => string 'Ellen' $subjson=$json[0]; echo $subjson->Amaral; // Ellen Através desse código, é fácil perceber que não dá para obter o valor da chave Amaral com o comando $vetor['Amaral'] ou $vetor->Amaral, isso porque o Amaral não é a chave do $vetor. O Amaral é a chave de um outro vetor que está dentro de outro vetor. E só dá para usar a gramática $chave->valor se você estiver trabalhando com um objeto e não com um vetor. Para saber quem é vetor e quem é objeto, só o comando var_dump é capaz de mostrar a diferença, ele diz em que parte o objeto é um vetor (array) ou objeto. Estudar Laravel é muito bom. Eu ainda não sei o que é um "framework", mas a cada dia aprendo a gostar cada vez mais do PHP.
×
×
  • Criar Novo...