Jump to content

Filipe_Moraes

Members
  • Content count

    1199
  • Joined

  • Last visited

  • Days Won

    1

Filipe_Moraes last won the day on March 29 2013

Filipe_Moraes had the most liked content!

Community Reputation

15 Levemente Bom

2 Followers

About Filipe_Moraes

  • Birthday 05/23/1987

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Lisboa - Portugal
  1. Estava a ler um tópico do fórum que fala sobre AbstractFactory e FactoryMethod. Entretando li a seguinte frase: Considere o seguinte adaptador: Adapter.php <?php namespace Teste\Db; use Teste\Db\Adapter\DbInterface; class Adapter { private $config = null; public function __construct(array $config) { $this->config = $config; } public function factory() { $db = $this->config['db']; $class = __NAMESPACE__ . '\Adapter\DbAdapter' . $db; return new $class($this->config); } } Repare que essa classe possui o método "factory" que retorna a instância de uma nova classe conforme o arquivo de configurações: Config.ini db = MySQL dbname = fixeads username = 'root' passwd = 'root' host = localhost debug = true Utilizei o padrão "Factory Method" por saber qual classe que deverá ser utilizada apenas no momento da execução do script. Repare que no arquivo de configurações há uma definição: db = MySQL Com isso o adaptador irá gerar uma instância da classe "DbAdapterMySQL" (na verdade a classe é do tipo "DbInterface", veja abaixo): <?php namespace Teste\Db\Adapter; use Teste\Util\Iterator\Collection; class DbAdapterMySQL extends \PDO implements DbInterface { public function __construct(array $config) { $dsn = "mysql:dbname={$config['dbname']};host={$config['host']}"; parent::__construct($dsn, $config['username'], $config['passwd']); $this->setAttribute(self::ATTR_DEFAULT_FETCH_MODE, self::FETCH_ASSOC); } public function insert($table, array $fields) { //inserir } public function select($table, $cols = '*', $where = []) { //selecionar } public function getFields($table) { //descrição dos campos } } Repare que a classe implementa a interface "DbInterface": <?php namespace Teste\Db\Adapter; interface DbInterface { public function __construct(array $config); public function select($table, $cols = '*', $where = null); public function insert($table, array $fields); public function getFields($table); } E para utilizar tudo faço o seguinte: $config = parse_ini_file(sprintf(__DIR__ . '%sconfig.ini', DIRECTORY_SEPARATOR)); $dbAdapter = new DbAdapter($config); Mapper::$defaultAdapter = $dbAdapter->factory(); Posso dizer que utilizei os padrões "Adapter", "Factory Method" e "Abstract Factory" nas classes acima? O padrão "Adapter" porque utilizei a classe "DbAdapterMySQL" para contruir uma interface compatível com a aplicação, sendo assim quando mudar de MySQL para MSSQL tenho apenas que criar uma nova classe "DbAdapterMSSQL" e implementar os respectivos métodos. O padrão "Factory Method" porque utilizei o método "factory" da classe "Adapter" para retornar uma instância da classe que deverá ser usada (em tempo de execução) de acordo com as configurações do projeto. E aqui é a minha grande dúvida, posso dizer que utilizei o padrão "Abstract Factory"? Uma vez que utilizei a interface "DbInterface" para a criação de uma família de produtos relacionados, que nesse é para manipulação do SGBD? Se sim, então a classe "Adapter" juntamente com as classes "DbInterface" e "DbAdapterMySQL" são a implementação do padrão "Abstract Factory"?
  2. Filipe_Moraes

    5 tabelas no banco de dados e gostaria de exibir-las uma tabela a cada

    Sim, tem. Qual a base de dados que você está utilizando? Se for MySql, procure sobre MySqli (sim. com "i" no fim) com PHP, tem muitos exemplos de como utilizar.
  3. Filipe_Moraes

    Características de um servidor web

    Essa empresa é reconhecida, porém americana, e tem qualidade, pelo menos é o que eu noto na velocidade de alguns sites que conheço e são hospedados no VPS dessa empresa. É verdade que a velocidade do site não depende somente do servidor, há muitas variáveis, mas influência e muito. Eu pesquisei sobre essa empresa e pelo que li há bastante gente satisfeita com o tempo de resposta, o que comprova a análise que fiz em alguns sites. Obrigado pelo vosso tempo.
  4. Filipe_Moraes

    Características de um servidor web

    Olá pessoal. Estou a comprar um VPS ( http://mediatemple.net/webhosting/vps/developer/index-2.php#overview ) e nas características do alojamento, está escrito: - Premium hardware with RAID-10 SAS disks - Full SSH + root access Bom, root access eu sei o que é mas os restante tenho dúvidas. Eu preciso de um servidor com acesso de administrador porque preciso instalar o nodejs, ter IP único e instalar um certificado SSL. Agradecia a vossa ajuda.
  5. Filipe_Moraes

    Aplicação php retorna dados em json

    Vinicius Rangel, Dessa maneira, um programador com poucos conhecimentos consegue dar a volta, queria mesmo era bloquear no lado do servidor, onde não haveria maneira de manipular. Dessa forma basta abrir o debug do firefox e ver a chamada do ajax, copiar e colar no browser que irá renderizar os dados. Obrigado pelo seu tempo e pela sua ajuda. Agradeço a ajuda.
  6. Filipe_Moraes

    Aplicação php retorna dados em json

    Olá Vinicius. Obrigado pelo seu tempo. Não entendi a solução, como assim campos tipo hidden? Como seria isso no cenário que postei no primeiro post? Obrigado.
  7. Filipe_Moraes

    Aplicação php retorna dados em json

    Olá pessoal. No meu javascript tenho um "$.ajax" no qual o url é um ficheiro php que retorna os dados em json. Ao digitar no browser o mesmo url, a resposta é renderizada e mostra os dados. Como bloquear esse ficheiro php para que somente a aplicação consiga acessa-lo? Atualmente estou usando o htaccess para url amigaveis. O url fica da seguinte maneira (por exemplo): 'http://localhost:8080/portal/teste.json?a=4&b=fff' Tudo que é ".json" redireciona para um php que retorna a resposta em json. O resto vai para a "index.php". Para bloquear estou fazendo da seguinte forma: - A aplicação sempre passa pela index, então estou criando uma session. - No ficheiro php que retorna resposta em json, estou verificando se essa session existe, se não da acesso negado. Funciona em parte, se digitar o url do ajax da acesso negado, mas se digitar o dominio (que da acesso a index) e depois digitar o url do ajax, já renderiza os dados. Há maneira de bloquear o acesso direto? Obrigado pela ajuda.
  8. Filipe_Moraes

    [Resolvido] Erro ao conectar PHP a base de dados SQL SERVER 2005

    EEEEEEEEEEEEEEEEEE! Muito obrigado! Resolveu o problema, muito obrigado!!!! Já não sabia o que fazer, tentei diversos tutoriais. Obrigado pelo seu tempo!
  9. Filipe_Moraes

    [Resolvido] Erro ao conectar PHP a base de dados SQL SERVER 2005

    Onde encontro essa dll "ntwdblib.dll", não a encontro em nenhuma pasta no wamp ( onde esta instalado o php e o apache ). Já fiz os seguintes passos: - Tirei o comentário da linha "extension=php_mssql.dll". - Criei o ODBC. - Baixei a dll "php_mssql.dll" e coloquei na pasta ext. - No php.ini, a variável extension_dir esta com o valor "E:/wamp/bin/php/php5.3.0/ext/". - Baixei o ficheiro "ntwdblib.dll" e copiei para a pasta "Windows/system32". Bom, como podem ver fiz esses passos, porém esse ficheiro "ntwdblib.dll" e não encontrei ele no meu computador após instalar o wamp, eu baixei na net, será que pode ser isso? Muito obrigado pela sua ajuda!
  10. Filipe_Moraes

    [Resolvido] Erro ao conectar PHP a base de dados SQL SERVER 2005

    Olá, obrigado pelo seu tempo. Acontece que já tirei o comentário dessa linha: extension=php_mssql.dll Estou utilizando o wamp, tenho o ODBC criado. Não sei o que fazer... Agradeço a sua ajuda!
  11. Olá pessoal, eu tentei conectar meu PHP a base de dados SQL SERVER 2005. Dá esse erro: Fatal error: Call to undefined function mssql_connect() in E:\Programas\wamp\www\portal\banco.php on line 25 Linha 25: $con = mssql_connect ($dbHost, $dbUser, $dbPass) or die ('MsSQL connect failed. ' . mssql_error()); Agradecia a ajudaQ!
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.