Depois de fazer uma pesquisa, ler artigos, dicas, recomendações; colecionar alguns códigos úteis, estou vendo quais soluções viáveis.
Então:
1. Qual a melhor forma (e mais rápida) de exibir um código HTML dentro de um script PHP?
a) Fechando e abrindo as seções <?php CÓDIGO PHP ?> CÓDIGO HTML <?php echo $variavel; ?> MAIS CÓDIGO HTML <?php CÓDIGO PHP ?>
Echo com aspas simples ou aspas duplas?
c) Outro?
2. Conectar-se ao banco de dados através do persistent connection:
mysql_pconnect(“host”, “login”, “passwd”);
realmente otimiza o tempo de conexão quando você tem várias páginas (topo, conteudo e rodape) que se conectam ao banco de dados diversas vezes numa mesma página?
3. A utilização de 'classes' prontas que executam querys (select, insert, update, delete) no banco de dados é mais efetiva e segura que executar as querys manualmente e se forem feitas manualmente qual a melhor forma?
MANUALMENTE 1 : $query = mysql_query("SELECT ...");
MANUALMENTE 2 : $query = "SELECT ...";
$resultado = mysql_query($query);
4. Como evitar que as pessoas recebam erros de conexão ao MYSQL? ex: Too many connections...
Error handlers comuns para querys podem ser utilizados neste contexto também?
5. Qual a melhor forma de proteger o arquivo de conexão ao banco de dados, quando este tem extensão PHP e é incluído em todas as páginas que necessitam da conexão?
6. Qual a melhor forma de incluir arquivos de conexão? Através do include ou require_once?
7. Salvando os resultados de uma query em cache por um tempo determinado (digamos, 24horas), privilegiaria este arquivo "cacheado" dentro destas 24horas, mesmo se os dados desta query estiverem sido atualizados?
O código que pretendo usar é este:
$expire = 86400; // 24 hours if (file_exists($file) && filemtime($file) > (time() - $expire)) { $records = unserialize(file_get_contents($file)); } else { $link = mysql_connect('localhost','username','password') or die (mysql_error()); mysql_select_db('shop') or die (mysql_error()); /* form SQL query */ $query = "SELECT * FROM categories"; $result = mysql_query($query) or die (mysql_error()); while ($record = mysql_fetch_array($result) ) { $records[] = $record; } $OUTPUT = serialize($records); $fp = fopen($file,"w"); fputs($fp, $OUTPUT); fclose($fp); } // end else // Query results are in $records array foreach ($records as $id=>$row) { if ($row['category_id'] == $_REQUEST['category_id']) { // category selected - print bold print '<B>'.$row['category_name'].'</B><BR>'; } else { // other category - print regular print $row['category_name'].'<br>'; } } // end foreach
Obrigada desde já.