Logomarca Downs Master

Mini Twitter com jQuery e PHP - Parte 1

24/11/2015 Mini twitter com jQuery e PHP, Javascript 3983

Olá pessoas. Na vídeo aula anterior me pediram parar que eu mostrasse como criar um sistema de hashtags usando php. Gostei da ideia e resolvi fazer um pouco melhor; a partir desta vídeo aula iniciaremos um sistema que simula o funcionamento do twitter no que diz respeito ao trending topics e ao sistema de hashtags. 

Será nosso mini twitter. Espero que gostem, e até a próxima.

Código da aula

Layout

Comentários

Juliane sanchez disse:

Olá Lucas, boa tarde!
Ótima vídeo aula, estarei aguardando a parte 2...
Não conhecia essa função preg_replace, vou tentar tirar proveito dela em uma página de categorias.
E quanto ao arquivo tweetar.php, é correto incluir arquivos php assim include_once ( "../config.php" ) não seria dirname(__FILENAME__) ? Não sabia que funcionava desta maneira também...

Lucas Silva disse:

Olá Juliane, esse exemplo aqui é o que eu costumo utilizar: https://gist.github.com/lukasdev/5ab29a46d642d5927ce0
Explicando: Primeiro deu defino uma path padrão, a path de include, pegando o realpath do arquivo principal - nesse caso um config.php - e usando ele pra fazer os inlcudes dos demais.
Da linha 3 até a linha 11 eu tenho meu set_include_path onde eu determino que todo caminho de pasta vai ser usando o PATH_SEPARATOR, e que POR PADRÃO qualquer include que for feito dentro da minha aplicação a partir do momento que esse arquivo principal - o config.php - for incluido, será através dessas pastas principais do exemplo "pasta1", "pasta1/subpasta" ou "pasta2" ou seja. se eu digito

include_once "config.php";
e dai eu digito:
include_once "Login.class.php" (por exemplo) o php vai procurar por essa classe de login nessas três pastas principais, sem eu necessáriamente ter que ficar digitando o caminho toda vez, entendeu?...

Abraços!

Juliane sanchez disse:

Olá Lucas, seria uma ótima ideia explicar mais a respeito, para eu ter uma visão diferente a respeito.
Obrigada!

Lucas Silva disse:

Olá Julia, vc ta de volta :)
Então, quanto ao lance do include, depende do tipo de aplicação. Em alguns casos, quando o sistema sendo criado é maior, é mais vantajoso criar uma logica de includes pre definidas usando set_include_path do php, que basicamente consiste em definir pastas padrões que são inclusas e dessa forma garantindo um include por exemplo assim include_once "config.php" pq com o set_include_path o php mantem reconhecido que ele vai verificar pela existencia desse arquivo nas pastas definidas. Se quiser te mostro uns exemplos por aqui dps!

Bruno Santos disse:

Muito boa a iniciativa, espero que continue fazendo com o sistema de login também, ficaria bem mais completo e manteria a lógica da coisa. Só um detalhe: a expressão regular não está aceitando acentuação, o que, em tese, deveria funcionar com o \w...

Lucas Silva disse:

Realmente, Bruno.
Vou dar uma olhada nisso em off, abrs!

Juliane sanchez disse:

Me tire uma duvida, é necessário habilitar alguma configuração no Wampserver para que essa função funcione?
O código que eu copiei não está funcionando corretamente, ele não percorre as opções de pastas!
Ele está apenas retornando o o endereço base do meu projeto. C:\wamp\www\projeto/autoLoad.inc.php' sendo que era para ele ir até C:\wamp\www\projeto/inc/autoLoad.inc.php'.



Entendi o funcionamento dele.
Obrigada mais uma vez!

Juliane sanchez disse:

Obrigada, funcionou!

Lucas SIlva disse:

Então, o seu exemplo ta quase certo.. só que vc não precisa de usar o PATH_SITE pra incluir seu autoload pq ele já procura nas pastas:
PATH_SITE/class
PATH_SITE/template/pages/
PATH_SITE/inc/

Neste link: http://www.4shared.com/rar/1qNrnX56ce/navigation.html
Tem um exemplo que fiz, basta vc descompactar e jogar no wamp ai pra vc ver.. eu tenho um index, que inclui o config.php. o config tem as pastas principais cetadas no set_include_path. o arquivo que eu peço pra ele incluir é o teste.php, sendo que ele ta dentro de template/pages mas só de eu digitar include_once "teste.php" ele já reconhece...

Juliane sanchez disse:

Eu tento incluir o arquivo e da erro,talvez eu esteja utilizando de modo errado.
segui neste link o código: http://pastebin.com/2510ayw6 os outros acho que não precisa!
Obrigada.

Lucas Silva disse:

posta seu codigo em algum lugar pra eu dar uma olhada. pode ser no gist msm!

Ricardo Ferreira disse:

Olá Lucas, Parabéns!
Gosto muito do seu trabalho...
Será que tem como você disponibilizar o código no github ou em em outro site que não seja o 4 shared?

Lucas Silva disse:

Sim.. eu vou postar o código das aulas no meu github. Mas só posso postar na aula 14 pq meu codigo em off ta avançado até a aula 14. Ai não faz sentido eu postar o código logo agora!
Eu ia postar antes, mas não deu por que minha net caiu e eu fui gravando as aulas em off!

André Silva disse:

Lucas tudo bom? Olha só. quando eu uso o código pra identificar a hashtag, ele não formata bem. Fica assim no link #amor. Esse não era pra exibir. Sabe como corrigir isso?
Desde já obrigado pelo conteúdo.

Lucas Silva disse:

Não entendi... da pra vc mandar print? .. pelo que entendi ta certo, se ele gerou o link da hashtag amor com a tralha antes da palavra, então ta certo!

carlos disse:

com o arquivo .htaccess o wamp nem reconhece a pasta..se retirar o arquivo perde o css todo..gostaria de saber mais sobre esse arquivo .htaccess

Lucas Silva disse:

Como assim não reconhece a pasta? vc tem que ta com o rewrite_module ativado no seu wamp!

carlos disse:

favor desconsiderar meu comentario anterios e esse .descobri pelo arquivo config que o mini tuiter precisava esta dentro da pasta videoaulas/mini-twitter pra funcionar com escrip BASE..obrigado

Lucas Silva disse:

Valeu :)

Carlos disse:

Olá Lucas, primeiramente parabéns pelas aulas. comecei a desenvolver o mini tweet, porém está dando um erro no arquivo funcoes.js => Uncaught TypeError: $(...).On is not a function. Uma ajudinha por favor!

Lucas Silva disse:

ta dizendo que a função .on não é uma função. vc deve ter feito algo errado no código acima do .on, ou deve ter incluido o jquery errado, ou algo do tipo.