Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fernando Rotermund

Porque programar em PHP se existem tantas plataformas prontas.

Recommended Posts

Porque continuar programando em PHP se existem tantas plataformas que dizem resolver todos os problemas.

 

Em matéria de CMS o Wordpress domina, então porque fazer o seu próprio CMS?

Fanboys do Wordpress dizem que a ferramenta tem tudo, e se não tiver é só fazer um plug-in e ta tudo resolvido. No WP tem plug-ins para tudo, e-commerce, forum, CMS bacanudo, sistema para ajudar no SEO entre milhares de opções prontas para usar.

 

Porque desenvolver um sistema de e-commerce, se na outra ponta temo Magento, OpenCart, Prestashop e etc . E mais uma vez essas plataformas resolvem quase todo o tipo de problema com seus plug-ins.

 

Então, porque fazer algo que já esta pronto, porque devo criar se posso reutilizar e copiar.

 

Não conheço nenhum assunto sobre isso na internet, o que estou querendo debater não são as plataformas prontas em si, mas o exagero de achar que uma delas pode resolver tudo e em qual momento eu devo programar meu proprio CMS ou E-commerce.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguindo sua forma de pensar, você ensinua que: Pra que estudar matemática se a resposta está no Google.

Isso te torna preguiçoso e mais pra frente ignorante.

 

Olha, você não está errado em falar da grandeza do WordPress, que não vê necessidade de se fazer um CMS do zero, ou então uma plataforma e-commerce com a existência de tantas possibilidades gratuitas.

Concordo!

 

Mas e quando você precisar de algo específico? E quando essa ferramenta passar a dar problema? E quando for desenvolver para outra pessoa?

 

Tem que saber equilibrar isso, se for trabalhar com Wordpress, é super importante saber html/css/php/javascript, desta forma você é capaz de criar seu próprio tema, seu próprio plugin e ter seu site 100% da maneira que quer

Compartilhar este post


Link para o post
Compartilhar em outros sites

A grande questão disso tudo é que as pessoas sismam em acreditar que você não precisa criar nada, porque já tem tudo pronto e, afinal, é muito mais fácil pegar o que já tá pronto e modificar do que criar algo do zero.

 

Mas existe um ponto aqui que eu considero crucial: se a sua loja é exatamente igual ao Exra, ao Submarino, ao Ponto Frio, às Americanas ou qualquer outra dessas, por que diabos eu vou comprar na SUA loja e não nas que todo mundo já conhece e sabe que são confiáveis?

 

É justamente por você ter a liberdade de criação que a sua loja pode ter o diferencial necessário pra se destacar no meio dessas gigantes.

 

É justamente por ter a liberdade de CRIAR o seu próprio código, que você pode criar um gerenciador de cobranças melhor que o PagSeguro, um Marketplace melhor que o MercadoLivre etc. É justamente por CRIAR e não COPIAR que você tem a possibilidade de desenvolver um sistema de segurança eficiente sem ter que pagar os seus rins e fígados por isso.

 

Dentre infinitas outras questões, ainda temos um ponto interessante: quando VOCÊ faz, você tem certeza da qualidade, sabe como funciona, sabe utilizar a ferramenta com perfeição e não depende de pesquisar nos fóruns a todo momento coisas como "como ativar o SSL no wordpress?" no nosso amigo Google.

 

Dentre infinitas outras questões ainda, facilidade de uso, segurança garantida, eficiência, um código mais enxuto, descartando inúmeras coisas desnecessárias que os Frameworks possuem e que você nunca vai precisar utilizar, um site mais leve e, portanto, menos demora pra carregar as páginas, controle total sobre tudo que ocorre dentro do seu website, integrações ilimitadas com quaisquer ferramentas que quiser.

 

Resumindo, existem infinitos motivos pra se desenvolver o próprio código, além, é claro, da questão de que se é você quem desenvolve, você tem o direito de vender a sua ideia, o seu produto, depois. Afinal, toda boa ideia é valiosa, desde que bem estruturada, desenvolvida etc, etc e etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E, claro, você ainda deve levar em consideração a questão de "quando meu negócio for muito mais pra frente, quando ele crescer e se desenvolver de uma forma que eu não esperava, o que eu vou fazer com todas as limitações que esses frameworks talvez me imponham?". Essa é uma pergunta interessante a se fazer.

 

Não basta fazer o que é mais fácil, tem que fazer o que dá certo, o que funciona, o que não vai te dar problemas grandiosos (nenhum problema, quem dirá os grandiosos) no futuro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque desenvolver um sistema de e-commerce, se na outra ponta temo Magento, OpenCart, Prestashop e etc . E mais uma vez essas plataformas resolvem quase todo o tipo de problema com seus plug-ins.

Ai está a sua resposta... as plataformas resolvem QUASE tudo... pesquise por plugins/módulos de cartão de crédito, verá que os que funcionam são pagos... integração com sistemas de análise de risco? Não existem... etc... o que é dado "de graça" é o arroz com feijão, se você quiser a carne, ai tem que por a mão no bolso, sempre foi assim e sempre será. Pesquise por ai quanto custa a hora técnica de um especialista em Magento, é um "absurdo", mesmo a plataforma estando lá de graça para baixar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque PHP não se resume à WordPress, ou qualquer outro CMS pronto. Não devemos esquecer do desenvolvimento de soluções, sistemas específicos para atender necessidade específica, aplicações especiais, em fim, "PROGRAMAR É PRECISO".

 

Além disso, vejo WordPress e demais CMS como uma mesmice, sem diferencial que valia apena deixar o PHP de lado pra usá-lo. INOVAR é preciso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.