Evandro Oliveira 331 Denunciar post Postado Março 26, 2012 Quero ajudar no front-end, porém para manipular o github estou apanhando um pouco ... Aqui mesmo no tópico há uma série de posts que visam ajudar quem tem dificuldades com GIT (e hub) Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Ribeiro 4 Denunciar post Postado Março 28, 2012 Acabou o projeto? Achei que demoraria um pouco mais... Compartilhar este post Link para o post Compartilhar em outros sites
angelorubin 142 Denunciar post Postado Março 28, 2012 Aqui mesmo no tópico há uma série de posts que visam ajudar quem tem dificuldades com GIT (e hub) Ok Evandro, fora o material que você cita, encontrei um video bem legal também, onde o autor fala sobre como instalar o GIT e utilizar o GITHUB (que confesso, eu não sabia que eram coisas diferentes!) para windows (sim eu uso windows e sou noob ... hehe), se mais alguém tiver interesse segue o video: Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Março 28, 2012 Ok Evandro, fora o material que você cita, encontrei um video bem legal também, onde o autor fala sobre como instalar o GIT e utilizar o GITHUB (que confesso, eu não sabia que eram coisas diferentes!) para windows (sim eu uso windows e sou noob ... hehe), se mais alguém tiver interesse segue o video: Todos os passos que o JB mandou fazer para criar, clonar, entre outras funções, do seu repositório, são pelo console do linux. Entretanto, se você instalou o GIT para windows, ele deve ter a ferramenta GIT BASH, que é um terminal com os mesmos comandos do linux para o windows, eu passei a utilizar ele para usar o GITHUG, é bem interessante. Caso você prefira algo mais visual, existe o TortoiseGIT, que também foi comentado em outros post's. Com ambos você terá uma boa ferramente, além de material disponível na internet, para trabalhar no projeto. Compartilhar este post Link para o post Compartilhar em outros sites
angelorubin 142 Denunciar post Postado Março 28, 2012 Todos os passos que o JB mandou fazer para criar, clonar, entre outras funções, do seu repositório, são pelo console do linux. Entretanto, se você instalou o GIT para windows, ele deve ter a ferramenta GIT BASH, que é um terminal com os mesmos comandos do linux para o windows, eu passei a utilizar ele para usar o GITHUG, é bem interessante. Caso você prefira algo mais visual, existe o TortoiseGIT, que também foi comentado em outros post's. Com ambos você terá uma boa ferramente, além de material disponível na internet, para trabalhar no projeto. Valeu pela dica gabriel ! Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Ribeiro 4 Denunciar post Postado Março 30, 2012 Como eu acho a proposta do projeto interessante, vou perguntar novamente: o projeto foi abandonado? Compartilhar este post Link para o post Compartilhar em outros sites
JCMais 75 Denunciar post Postado Março 30, 2012 Como eu acho a proposta do projeto interessante, vou perguntar novamente: o projeto foi abandonado? O repositório continua online: https://github.com/iMastersDev/iMasters-Form/tree/dev Portanto qualquer um pode efetuar uma fork, fazer suas modificações e efetuar um Pull Request. Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Ribeiro 4 Denunciar post Postado Abril 3, 2012 ÚItimo commit do projeto no repositório principal foi há 20 dias. Portanto, pergunto novamente: o projeto acabou? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Abril 3, 2012 ÚItimo commit do projeto no repositório principal foi há 20 dias. Portanto, pergunto novamente: o projeto acabou? se você ou ninguém enviar, irá fardar a acabar sim. Envie um pull e então você vai contribuir para a continuidade. é assim que funciona uma comunidade. Só se mantém se os membros ajudarem. Se ficarem apenas perguntando: "acabou? acabou?", e nada fizerem, então... Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Ribeiro 4 Denunciar post Postado Abril 3, 2012 se você ou ninguém enviar, irá fardar a acabar sim. Envie um pull e então você vai contribuir para a continuidade. é assim que funciona uma comunidade. Só se mantém se os membros ajudarem. Se ficarem apenas perguntando: "acabou? acabou?", e nada fizerem, então... William, não há a necessidade de me explicar como funciona a comunidade. Apenas fiz a pergunta porque tenho interesse em acompanhar o projeto, mas não contribuir como o "membro" que você fala, devido à falta de tempo. Portanto, estou apenas instigando as pessoas que "estão" participando a darem, ao menos, um sinal de vida. Compartilhar este post Link para o post Compartilhar em outros sites
Luis Paullo 47 Denunciar post Postado Abril 3, 2012 ele ta meio Sonolento kkkkkkkkkkk.. Vamo anima pessoal.. alguem por acaso ja fez no seu fork alguma coisa qnto ao PHP.. so tem um commit de 'dataacesslayer' serve pra faze a conexao e o CRUD kkkkkkkk (bem cabulosa por sinal, so nao intendi os testes dele DML sei que isso nao ) =X a ideia era o MVC pra um sistema de perguntas e respostas que muda a pergunta conforme a resposta! pro pessoal que ja domina o MVC na ponta do dedo, acho que nao seria muito problema ne!! (esse nao e meu caso =X). Compartilhar este post Link para o post Compartilhar em outros sites
JCMais 75 Denunciar post Postado Abril 3, 2012 alguem por acaso ja fez no seu fork alguma coisa qnto ao PHP... https://github.com/iMastersDev/iMasters-Form/network :seta: https://github.com/henriquejpb/iMasters-Form/tree/dev :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Abril 4, 2012 DML - Data Manipulation Language, são exatamente as operações de CRUD. DDL - Data Description Language são as criações de tabelas, schemas, etc... Eu estou numa sequência meio corrida na faculdade, assim que possível termino essa parte de acesso a dados. Compartilhar este post Link para o post Compartilhar em outros sites
Uélio Nobre 0 Denunciar post Postado Abril 17, 2012 Aconselho você programar mais um pouco de forma procedural. Procure separar o que as portes por funções. Repare como elas funcionam em PHP. Vá aos poucos. Em teoria é fácil. Mas, no mundo da orientaçao à objetos torna-se mais difícil para você se você não conhece os recursos da linguagem. Entender o que significa e como utilizar as palavras chaves que (vamos dizer) faz a programação orientada a objetos no php, como: this, self, parent, static, construct, destruct, protected, private, public, extends, implements, etc... demora um pouco. Tudo depende de você, como você absorve. Eu gosto de lembrar isso "Programação Orientado a Objetos é a reutilização da programação procedural". Ou seja, aprenda primeiro a programar procedural, logo depois, orientado a objeto. Você pode reutilizar codigos utilizando funcoes. Nem tudo precisa ser orientado a objetos (com execões de algumas linguagens fortemente tipada como Java). A melhor linguagem para se ter uma base legal de orientado a objetos é estudando Java. Compartilhar este post Link para o post Compartilhar em outros sites
FK. 0 Denunciar post Postado Abril 17, 2012 Pessoal, eu quero aproveitar o assunto deste tópico e fazer uma pergunta. Falando em encapsulamento, qual a diferença entre uma classe ter uma propriedade/atributo que lê/escreve sobre um campo interno, e ter um campo público que eu acesso diretamente após eu ter instanciado uma classe? Estou confuso com isso, porque na linguagem C# por exemplo, existem propriedades de um objeto que trabalham sobre campos internos e privados de uma classe. Por exemplo, tenho um campo privado chamado nome, e uma propriedade pública chamada Nome que trabalha sobre esse campo privado. Mas, se uma hora ou outra eu preciso ter acesso a esse campo, usariamos a propriedade Nome certo ? Porque eu não deixo esse campo nome público, e acesso ele diretamente ? Pois não vejo diferença em uma propriedade que lê/escreve o valor em um campo, ou eu lêr/escrever sobre esse campo diretamente. Esse conceito de propriedades são validos em outras linguagens também, e não só em C#. Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Abril 17, 2012 Eu estudei um pouco de C# e conheço o básico do que ele tem em particular. Sei que nele a forma de implementar os "set's" e "get's" é diferente, da forma que você falou. Quando falam sobre manter um atributo públic ou privado, eu sempre lembro a frase de um professor meu, quando perguntaram se era ou não para inserir set's e get's em uma classe. Se é para utilizar set/get somente para inserir/retornar, deixem o atributo como público. Mas encapsulamento não é ocultar a informação. Sinceramente, eu não seria a pessoa indica pois também não entendo 100%. Entretanto, há esse artigo Encapsulação que explana um pouco sobre o encapsulamento. De uma forma mais paradigmática do apenas atributos públicos/protected/private Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Abril 18, 2012 public/private/protected são o conceito de ocultação da informação, que é importante para conseguir uma maior consistência de dados. Por exemplo, fazendo assim: public class Db_Table { public $dbAdapter; public function __constructor(Db_Adapter $dbAdapter) { $this->dbAdapter = $dbAdapter; } } Nada impede o imbecil do cara que pegou esse código de fazer algo como: $this->dbAdapter = 'Oi, eu sou o Goku!'. Pronto, seu código foi pro espaço... Um atributo que deveria conter uma interface para o banco de dados agora tem o final de episódio de um anime... public class Db_Table { private $dbAdapter; public function __constructor(Db_Adapter $dbAdapter) { $this->setAdapter($adapter); } public function setAdapter(Db_Adapter $dbAdapter) { $this->dbAdapter = $dbAdapter; } } Agora sim, esse código é à prova de idiotas. A propriedade dbAdapter invariavelmente será uma instância de Db_Adapter. Encapsulamento é um animal totalmente diferente. Ele envolve o princípio de reuso de código (DRY - Don't Repeat Yourself) e esse conceito existe não apenas na orientação a objetos, o simples fato de criar uma função para guardar um pedaço repetitivo de código já é um encapsulamento. A diferença é que com OO, herança, composição, polimorfismo e todas essas palavras estranhas, o encapsulamento é levado ao máximo do seu potencial. Compartilhar este post Link para o post Compartilhar em outros sites
FK. 0 Denunciar post Postado Abril 18, 2012 Mas então Henrique, se o cara agora usar o método setAdapter('Oi eu sou goku !'), ele conseguirá atingir o mesmo objetivo, não é ? Se bem que, o parâmetro é do tipo Db_Adapter, e provavelmente iria lançar um erro tentando inserir uma string. Mas é isso que não entendo, de qualquer forma, eu vou acessar esse campo, mas de uma forma diferente, por outro caminho. Isso é um problema ? Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Heming 766 Denunciar post Postado Abril 18, 2012 [...]se o cara agora usar o método setAdapter('Oi eu sou goku !'), ele conseguirá atingir o mesmo objetivo, não é ? Apesar de eu ser não ser o @Henrique Barcelos... Não, não é a mesma coisa, o motivo você mesmo falou e está abaixo. Se bem que, o parâmetro é do tipo Db_Adapter, e provavelmente iria lançar um erro tentando inserir uma string. O Henrique criou um exemplo que explana exatamente como um método set deve ser. O método necessita que o parâmetro seja uma instância de DB_Adapter. Qualquer outra instância que for passada será negada. Então, se você for fazer setAdapter('Oi eu sou goku!'), não irá funcionar, não lembro o tipo de erro lançado (warning|error|notice) e o objetivo da ocultação da informação estará concluído nesse método. Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Abril 18, 2012 Exato, @Gabriel_Heming Mas é isso que não entendo, de qualquer forma, eu vou acessar esse campo, mas de uma forma diferente, por outro caminho. Isso é um problema ? Você vai acessar o campo, mas não diretamente, você não pode colocar qualquer porcaria lá, tem que seguir a especificação do método de acesso. Além disso, você pode ainda fazer condicionais para verificar se os dados são válidos. class Square { private $side; public function __construct($side){ if($side > 0){ $this->side = $side; } else { throw new UnexpectedValueException('Square size must be > 0'); } } } Se Square::$side fosse public, eu poderia facilmente fazer: $s = new Square(2); $s->side = -10; E aí? Compartilhar este post Link para o post Compartilhar em outros sites