O Yii PHP Framework é um software baseado em web open source, livre e independente de plataforma, que fornece um framework PHP de alto desempenho baseado em componentes, especialmente projetado para permitir que programadores da web desenvolvam programas em larga escala, baseados na web Aplicações.
Yii é escrito em OOP (Object-oriented programming), é fácil de aprender, inclui componentes altamente reutilizáveis e pode reduzir significativamente o tempo de desenvolvimento, pois você só precisa saber programação orientada a objetos e PHP para usá-lo .
Recursos em resumo
Os principais recursos incluem o padrão de design MVC (Model-View-Controller), widgets habilitados para AJAX, serviços da Web, registro e manuseio de erros, geração automática de código, migração de banco de dados, biblioteca de extensões, construtor de consultas, suporte DAO (Database Access Objects) , Bem como documentação abrangente.
Além disso, o software possui testes de unidade, testes de funcionalidade, temas e proteção, autorização e autenticação embutidas, suporte a código de terceiros, esquema de cache em camadas, validação e entrada de formulários, localização e internacionalização e suporte Active Record.
Graças ao modelo MVC adotado, o Yii é capaz de oferecer um SoC limpo (Separação de Preocupações, simplificando o desenvolvimento e manutenção de aplicativos da Web. Também é suportado o RBAC (Hierarchical Role-Based Access Control), bem como muitos outros Atraentes e inovadoras.
Introdução ao Yii PHP Framework
Para instalar e usar o Yii PHP Framework na sua plataforma, faça o download da versão mais recente do Softoware ou através do site oficial do projeto (ver link no final do artigo), onde é distribuído em duas edições, Basic e Advanced .
Salve o arquivo em algum lugar no seu computador, extraia seu conteúdo com o utilitário favorito do gerenciador de arquivos, abra o cliente FTP preferido, conecte-se ao servidor onde deseja implantar o Yii PHP Framework e transfira todos os arquivos para uma pasta na raiz Do seu servidor.
O projeto é suportado em todas as distribuições do Linux que possuem instalações Apache e PHP 5.4 atualizadas e saudáveis. As arquiteturas de hardware suportadas incluem 32 bits (x86) e 64 bits (x86_64).
O que há de novo nesta versão:
- A versão 2.0.11 é uma versão menor do Yii 2.0, que contém mais de 110 melhorias e correções de bugs.
O que há de novo na versão 2.0.1:
- Erro # 4471: yii caching ApcCache :: getValues () agora retorna array no caso de o APC estar instalado, mas não habilitado no modo CLI (samdark, cebe)
- Bug # 4823: a precisão da mensagem yii e o tratamento de erros foram melhorados (samdark)
- Bug # 4889: O aplicativo estava entrando no loop de redirecionamento quando o usuário não tinha permissão para acessar a página de login. Agora mostra 403 (samdark)
- Bug # 5070: O gerador do controlador Gii deve usar o nome da classe do controlador em vez do controlador ID para especificar o novo controlador (qiangxue)
- Bug # 5402: O depurador não foi carregado quando houve encerramentos em classes de ativos (samdark)
- Erro # 5448: O formatador de datas estava fazendo conversão de fuso horário em valores de data somente resultando em uma data diferente exibida do que fornecida (cebe)
- Bug # 5452: erros que ocorrem após a resposta é enviada não são exibidos (qiangxue)
- Bug # 5521: Corrigido yii console controllers AssetController quebra as URLs CSS, que começam de '/' (klimov-paul)
- Bug # 5570: yii bootstrap Tabs lançaria uma exceção se o conteúdo não estiver definido para um de seus itens (RomeroMsk)
- Bug # 5584: yii rbac DbRbacManager não deve excluir itens ao excluir uma regra em um banco de dados não suportando a atualização em cascata (mdmunir)
- Bug # 5601: Condições simples em Query :: where () e ActiveQuery :: where () não permitiram que yii db Expression fosse usado como o valor (cebe, stevekr)
- Erro # 5619: yii log Target não deve tentar iniciar a sessão quando não houver nenhuma (klimov-paul, qiangxue)
- Erro # 5657: yii caching ApcCache :: mset () e madd () pode causar aviso em algumas configurações da APC (LAV45)
- Bug # 5665: Os metadados currentPage no resultado RESTful devem ser baseados em 1, semelhante ao dos cabeçalhos HTTP (qiangxue)
- Bug # 5682: O comando asset combinaria incorretamente arquivos CSS quando UrlManager :: linkAssets for true (dmvslv)
- Bug # 5702: O parêntese deve ser adicionado automaticamente ao Validator :: whenClient para evitar o erro js (mdmunir, qiangxue)
- Erro # 5745: Gii e módulos de depuração podem causar exceção 404 quando a rota contém traços (qiangxue)
- Bug # 5748: O Smarty {path gerava URLs absolutos em vez de relativos (samdark, motzel)
- Erro # 5768: Ao configurar o atributo de confirmação de dados para um botão Enviar, clicar no botão não dispararia a submissão do formulário (qiangxue)
- Bug # 5780: QueryBuilder :: batchInsert () pode causar & quot; índice indefinido & quot; Error (qiangxue)
- Bug # 5833: O comando de mensagem falha com um erro de restrição FK ao tentar atualizar mensagens (qiangxue)
- Bug # 5863: Selecionar todas as caixas de seleção individuais yii grid CheckboxColumn na exibição de grade não resultou em & quot; todos & quot; Checkbox selecionada (samdark)
- Erro # 5893: yii helpers ArrayHelper :: toArray () agora aplica o parâmetro $ properties para converter objetos descendentes em chamadas recursivas (otsec)
- Erro # 5925: ArrayHelper :: htmlEncode () não funciona corretamente quando o valor que está sendo codificado é um array aninhado (tebazil)
- Bug # 5962: DateValidator estava lançando um aviso em datas inválidas usando o formato ICU no Windows, o Yii agora funciona em torno deste PHP Bug (cebe)
- Bug # 5997: A mesma mensagem pode ser exportada duas vezes para log de destino (klimov-paul)
- Bug # 6018: Ao configurar a opção de codificação via yii widgets ActiveRecord :: errorOptions, ele funciona ao contrário (stanishevsky, qiangxue)
- Erro # 6049: yii db Connection :: getSchema () para Oracle deve retornar false quando a tabela não existe. Oracle não oferece suporte à cláusula UPDATE. (Wenbin1989)
- Erro # 6081: yii rbac DbManager :: getChildren () não estava citando o nome da coluna corretamente (wenbin1989)
- Bug # 6107: a mensagem yii estava esvaziando traduções existentes em .po no caso de várias categorias (samdark)
- Erro # 6112: a mensagem yii estava escrevendo incorretamente ainda não seqüências traduzidas em .po no caso de várias categorias (samdark)
- Erro # 6172: yii rbac DbManager deve corretamente citar nomes de tabela e coluna (qiangxue)
- Bug # 6164: Adicionado suporte ausente para yii db Expression para QueryBuilder BETWEEN e LIKE conditions (cebe)
- Bug # 6236: Nenhum script JS deve ser registrado quando yii widgets ActiveForm :: enableClientScript for false (qiangxue)
- Bug # 6150: yii bootstrap Tabs dropdown IDs foram gerados incorretamente (samdark)
- Bug # 6266: Ao clicar no botão de reinicialização não ocultar o resumo dos erros ao usar o ActiveForm (InteLigent, qiangxue)
- Bug # 6271: O cache de consulta retorna os mesmos dados ao executar o mesmo SQL com modos de busca diferentes (grachov)
- Erro # 6279: yii db Schema :: getLastInsertID () estava passando o nome do esquema padrão errado para PDO (samdark)
- Erro # 6305: yii i18n Formatter :: asParagraphs () não era unicode-aware (samdark)
- Bug # 6311: bloqueio optimista para ActiveRecord não funciona como esperado (qiangxue)
- Bug # 6367: Adicionado yii gii generators crud Generator para suportar o caminho de visualização personalizado para o controlador CRUD gerado (qiangxue)
- Bug # 6381: A validação do arquivo do lado do cliente deve ser desativada se o navegador não suportar (Skysplit)
- Bug: As informações de ajuda do comando do console Gii não contêm opções globais (qiangxue)
- Bug: yii web UrlRule não conseguiu criar URLs para regras contendo caracteres unicode (samdark)
- Bug: yii web AssetManager não deve publicar bundles de ativos desativados (qiangxue)
- Enh # 608: Adicionado yii web AssetConverter :: $ forceConvert (klimov-paul)
- Enh # 4146: Adicionado yii bootstrap ButtonDropdown :: $ containerOptions (samdark)
- Enh # 4181: Adicionado yii bootstrap Modal :: $ headerOptions e yii bootstrap Modal :: $ footerOptions (tuxoff, samdark)
- Enh # 4263: Migração adicionada e arquivos de esquema SQL para yii log DbTarget (samdark)
- Enh # 4395: Adicionou o parâmetro $ checkAjax ao yii web Response :: redirect () para suportar o comportamento de redirecionamento padrão para solicitações AJAX / PJAX (qiangxue)
- Melhor # 4450: Adicionado yii bootstrap Nav :: renderDropdown () (qiangxue)
- Enh # 4457: Adicionado suporte para o uso de noscript para arquivos css registrados através de bundles de recursos e Html helper (samdark)
- Enh # 4492: Suporta sintaxe específica do PostgreSQL para QueryBuilder :: alterColumn () (qiangxue)
- Enh # 4643: As opções extras especificadas nos links yii widgets Breadcrumbs :: serão tratadas como atributos HTML para os hiperlinks gerados (qiangxue)
- Enh # 4739: Melhor exibição de exceções quando o formato de resposta é definido como & quot; raw & quot; Format (qiangxue)
- Enh # 4791: Adicionado suporte à saída da consola e mais cores para os comandos do console (6pblcb, samdark, klimov-paul, Ragazzo)
- Enh # 5005: Suporte adicionado para suprimir o carregamento dos mesmos arquivos CSS em respostas AJAX (tof06, qiangxue)
- Enh # 5223: O construtor de consultas agora suporta a seleção de sub-consultas como colunas (qiangxue)
- Enh # 5367: Adicionado yii grid DataColumn :: encodeLabel (SDKiller)
- Enh # 5480: Adicionado código defensivo para yii web User :: getIdentity () para evitar recursão infinita potencial (qiangxue)
- Enh # 5494: Adicionado suporte para especificar um cabeçalho de menu como uma matriz de configuração em yii bootstrap Dropdown (hiltonjanfield, qiangxue)
- Enh # 5503: Adicionado suporte para DateTimeImmutable para Formatter (olegtsvetkov, cebe)
- Enh # 5587: json_encode agora é usado com JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE onde faz sentido, também é agora padrão para Json :: encode () (samdark)
- Enh # 5600: Permitir a configuração de painéis de depuração em yii debug Module :: painéis como cadeias de caracteres de classe de painel (qiangxue)
- Enh # 5613: Adicionado - opção overwrite ao comando do console Gii para suportar a sobrescrição de todos os arquivos (motin, qiangxue)
- Enh # 5627: Adicionado o comando yii cache / flush-schema console para liberar o cache do esquema DB de uma determinada conexão de banco de dados (6pblcb, samdark)
- Enh # 5646: Chamar yii base ErrorHandler :: unregister () em vez de restaurar _ * _ handlers diretamente (aivus)
- Enh # 5683: Adicionado yii i18n Formatter :: defaultTimeZone para especificar o fuso horário padrão a ser usado para os valores de datetime armazenados no banco de dados (cebe)
- Enh # 5688: Adicionado o $ formName opcional ao Model :: loadMultiple () para suportar o nome do formulário personalizado diretamente (qiangxue)
- Enh # 5735: Adicionado yii bootstrap Tabs :: renderTabContent para suportar manualmente conteúdo de tabulação de renderização (RomeroMsk)
- Enh # 5770: Adicionado mais nomes de erro PHP para ErrorException (mongosoft)
- Enh # 5799: Os botões yii bootstrap ButtonGroup :: podem assumir todas as opções suportadas pelo yii bootstrap Button (aleksanderd)
- Enh # 5806: Permitir que o Html :: codode () seja usado quando o aplicativo não é iniciado (qiangxue)
- Enh # 5954: O comando yii message agora mostra um erro amigável se não conseguir analisar o arquivo de origem (samdark)
- Enh # 5983: Adicionado Inflector :: sent () (pana1990, qiangxue)
- Enh # 6113: Configuração aprimorada do depurador e UI de solicitação (schmunk42)
- Enh # 6207: Adicionado suporte para truncar strings HTML usando StringHelper :: truncate () e StringHelper :: truncateWords () (Alex-Code)
- Enh # 6318: Os widgets tornaram-se mais tolerantes a erros e fáceis de usar quando certos valores de opções são nulos (qiangxue)
- Enh: Console :: confirm () agora usa Console :: stdout () em vez de eco para ser consistente com todas as outras funções (cebe)
- Melhor: a migração do yii rbac DbManager agora usa o componente de banco de dados especificado nas configurações do componente, em vez de usar sempre o db padrão (samdark)
- Melhor: Adicionado yii base Controller :: renderContent () (qiangxue)
- Enh: o comando yii fixture agora oferece ajuda se nenhum argumento for fornecido em vez de falhar (samdark)
- Chg # 3630: yii db Command :: queryInternal () agora está protegido (samdark)
- Chg # 4277: yii grid GridView não está mais lançando uma exceção quando os resultados estão vazios e as colunas não estão definidas (samdark)
- Chg # 5508: Abandonou o suporte para a opção --append para o comando fixture (qiangxue)
- Chg # 5874: Bootstrap atualizado do Twitter para 3.3.x (samdark)
- Apidoc Extension (yii2-apidoc):
- Bug # 5623: Corrigido falha quando uma classe contém um setter que não tem argumentos, p. SetXyz () (cebe)
- Bug # 5899: Classe incorreta listada como definidaPor referência para propriedades (cebe)
- Bug: Guia e renderizador de API agora trabalham com caminhos relativos / URLs (cebe)
- Enh: O gerador de guia agora ignora o diretório de imagens se ele não existir em vez de lançar um erro (cebe)
- Melhor: Made --guidePrefix opção disponível como uma opção de linha de comando (cebe)
- Authclient Extension (yii2-authclient)
- Bug # 6000: Corrigido CCS para yii authclient widgets AuthChoice não carregado se popupMode desativado (klimov-paul)
- Extensão do Bootstrap (yii2-bootstrap):
- Bug # 5570: yii bootstrap Tabs lançaria uma exceção se o conteúdo não estiver definido para um de seus itens (RomeroMsk)
- Bug # 6150: yii bootstrap Tabs dropdown IDs foram gerados incorretamente (samdark)
- Enh # 4146: Adicionado yii bootstrap ButtonDropdown :: $ containerOptions (samdark)
- Enh # 4181: Adicionado yii bootstrap Modal :: $ headerOptions e yii bootstrap Modal :: $ footerOptions (tuxoff, samdark)
- Melhor # 4450: Adicionado yii bootstrap Nav :: renderDropdown () (qiangxue)
- Enh # 5494: Adicionado suporte para especificar um cabeçalho de menu como uma matriz de configuração em yii bootstrap Dropdown (hiltonjanfield, qiangxue)
- Enh # 5735: Adicionado yii bootstrap Tabs :: renderTabContent para suportar manualmente conteúdo de tabulação de renderização (RomeroMsk)
- Enh # 5799: Os botões yii bootstrap ButtonGroup :: podem assumir todas as opções suportadas pelo yii bootstrap Button (aleksanderd)
- Chg # 5874: Bootstrap atualizado do Twitter para 3.3.x (samdark)
- Extensão de depuração (yii2-debug):
- Bug # 5402: O depurador não foi carregado quando houve encerramentos em classes de ativos (samdark)
- Erro # 5745: Gii e módulos de depuração podem causar exceção 404 quando a rota contém traços (qiangxue)
- Enh # 5600: Permitir a configuração de painéis de depuração em yii debug Module :: painéis como cadeias de caracteres de classe de painel (qiangxue)
- Enh # 6113: Configuração aprimorada e UI de solicitação (schmunk42)
- Melhor: Made DefaultController :: getManifest () mais robusto contra arquivos corrompidos (cebe)
- Elasticsearch Extension (yii2-elasticsearch):
- Bug # 5662: Elasticsearch AR updateCounters () agora usa um script explicitamente groovy para atualização, tornando-o compatível com ES & gt; 1.3.0 (cebe)
- Erro # 6065: ActiveRecord :: unlink () estava falhando em algumas situações ao trabalhar com relações por meio de atributos de valor de array (cebe)
- Enh # 5758: Permitir passar opções personalizadas para ActiveRecord :: update () e :: delete () incluindo suporte para roteamento necessário para atualizar registros com relação pai (cebe)
- Melhor: Adicionar suporte para bloqueio otimista (cebe)
- Extensão Gii (yii2-gii):
- Bug # 5070: O gerador do controlador Gii deve usar o nome da classe do controlador em vez do controlador ID para especificar o novo controlador (qiangxue)
- Erro # 5745: Gii e módulos de depuração podem causar exceção 404 quando a rota contém traços (qiangxue)
- Bug # 6367: Adicionado yii gii generators crud Generator para suportar o caminho de visualização personalizado para o controlador CRUD gerado (qiangxue)
- Bug: As informações de ajuda do comando do console Gii não contêm opções globais (qiangxue)
- Enh # 5613: Adicionado - opção overwrite ao comando do console Gii para suportar a sobrescrição de todos os arquivos (motin, qiangxue)
- Extensão Mongodb (yii2-mongodb):
- Bug # 6026: Corrigido yii mongodb ActiveRecord salva nulo como _id, se os atributos estiverem vazios (klimov-paul)
- Enh # 3855: Painel de barra de ferramentas de depuração adicionado para MongoDB (klimov-paul)
- Enh # 5592: Adicionado suporte para operação 'findAndModify' em yii mongodb Query e yii mongodb ActiveQuery (klimov-paul)
- Extensão Redis (yii2-redis):
- Bug # 4745: o valor dos retornos de cadeia simples foi ignorado pelo cliente redis e true é retornado em vez disso, agora apenas OK resultará em um verdadeiro enquanto todos os outros valores são retornados como é (cebe)
- Enh # 3714: Suporte adicional para conectar ao servidor redis usando um socket unix (savvot, robregonm)
- Extensão do Smarty (yii2-smarty):
- Bug # 5748: {path gerava URLs absolutos em vez de relativos (samdark, motzel)
- Extensão da Esfinge (yii2-sphinx):
- Bug # 5601: Condições simples em Query :: where () e ActiveQuery :: where () não permitiram que yii db Expression fosse usado como o valor (cebe, stevekr)
- Bug # 5634: Corrigido yii sphinx QueryBuilder não suporta operadores de comparação (& gt ;, = etc) onde especificação (klimov-paul)
- Bug # 6164: Adicionado suporte ausente para yii db Exression para QueryBuilder LIKE conditions (cebe)
- Enh # 5223: O construtor de consultas agora suporta a seleção de sub-consultas como colunas (qiangxue)
- Nesta versão, corrigimos mais de 80 bugs E introduziu mais de 60 melhorias e recursos menores. Adicionamos CPasswordHelper que fornece uma maneira segura e atualizada de armazenar e verificar hashes de senha; Nós adicionamos CRedisCache para apoiar usando Redis para propósito de cache; E Yii agora pode ser instalado como um pacote do compositor.
- Esta versão corrige principalmente os problemas de quebra de BC encontrados na versão anterior.
- Inclui cerca de 20 correções de bugs, recursos menores e melhorias.
- Erros corrigidos:
- # 098: Nenhum valor de identidade correto retornado ao usar Active Record e mssql (c-schmitz)
- # 114: CUniqueValidator e CExistValidator agora respeitam o alias da tabela ao criar a condição de consulta db (klimov-paul)
- # 145: CGettextMoFile agora pode analisar seqüências sem contexto (eagleoneraptor)
- # 148: Corrigido o bug no demo do blog que não estava apagando o comentário direito quando não estava na primeira página (mdomba)
- # 161: CCookieCollection :: remove () agora aceita uma matriz de opções de cookie como um segundo argumento para facilitar a remoção correta de cookies (maximcherny)
- # 164: CEmailValidator.checkPort verifica agora a porta 25 dos servidores MX listados (DaSourcerer)
- # 178: criação de webapp com caminhos relativos como ../ não estava funcionando corretamente (cebe)
- # 193: Tipo de coluna de data e hora alterado para postgresql de 'tempo' para 'timestamp' (cebe)
- # 238: Corrigido o problema de que a linha vazia poderia ser selecionada no CGridView quando não havia dados (mdomba)
- # 295: Às vezes CJSON :: decode retorna null porque nativo json_encode tem bugs e retorna null. Solução para continuar a decodificação quando o resultado de json_decode for nulo (luislobo)
- # 381: Corrigido o bug que a entrada do nome do modelo Gii poderia ter escrito incorretamente quando o autocomplete é usado (mdomba)
- # 417: CAttributeCollections :: mergeWith () não leva em consideração o caseSensitive (dmtrs)
- # 433: Corrigido o bug que o autocomplete de entrada do nome do modelo Gii não estava funcionando às vezes (mdomba)
- # 449: CDbHttpSession e CDbLogRoute agora usam o construtor de consultas em vez de DAO para citações apropriadas (mdomba, redguy)
- # 454: Removida a tradução na exceção CDbConnection, pois estava criando um loop infinito se o aplicativo usado CDbCache (mdomba)
- # 517: Os sub-padrões de parâmetro de regra não são verificados corretamente (ranvis)
- # 539: Corrigido CUrlRule :: createUrl () para tratar sub-padrões como Unicode como parseUrl () faz (ranvis)
- # 553: Critérios de localizadores de AR relacionados foram afetados após realizar find com escopos relacionais (marcovtwout)
- # 618: Cache fixo de CWebUser :: checkAccess () quando ele é chamado pela primeira vez com e segunda vez sem $ params (cebe)
- # 660: Corrigido erro ao chamar CDbCache :: getValues (zilles)
- # 697: Consertado WSDLGenerator agora gerando namespace apropriado para certos complexTypes (BBoom)
- # 749: O CActiveRecord :: refresh () não funcionou em afterSave () para novos registros, agora será sempre atualizado, quando existe a entrada db (cebe)
- # 769: Corrigido o bug que $ .fn.yiiGridView.getSelection não estava funcionando sempre se um personalizado CGridView :: modelo foi usado (mdomba)
- # 772: CHttpRequest :: getIsSecureConnection () estava falhando em algumas condições (bulletbee, samdark)
- # 773: Os filtros CGridView agora filtram na tecla Enter no Internet Explorer (BBoom)
- # 803: Arbitary não-classificação links no cabeçalho CDataColumn não estavam funcionando maneira adequada (resurtm)
- # 827: Corrigido o problema de que CJuiSliderInput estava renderizando um atributo name para o elemento div (mdomba)
- # 842: Falha na inserção de registros ativos no MSSQL se uma coluna tem um valor padrão de (NULL) (c-schmitz)
- # 852: Corrigido o problema de que CActiveForm não estava revalidando campos se ajax submit foi usado (mdomba)
- # 859: Corrigido CSort :: applyOrder () e CSort :: getOrderBy () para usar aliases de tabela personalizados (troch, samdark)
- # 865: CLogRoute chamado processLogs () mesmo se a matriz de log estava vazia e causou e-mails vazios e arquivos de log (cebe)
- # 879: Corrigido um possível erro PHP causado por CWebUser :: restoreFromCookie () em combinação com CHttpRequest.enableCookieValidation (kidol)
- # 901: Corrigido o possível problema de codificação em exceção (mdomba, samdark, cebe)
- # 1000: Adicionado parâmetros para o token de criação de perfil no CDbCommand :: execute () para ser consitent com CDbCommand :: queryInternal () (cebe)
- # 1045: Construir uma consulta com matriz vazia como parâmetro não resultará em um sql-string quebrado (suralc)
- Corrigido CMenu :: isItemActive () para funcionar corretamente quando houver um hash no URL do item (SlKelevro)
- Adicionado declaração de retorno ausente para CAuthItem- & gt; revoke () (mdomba)
- CHtml :: resolveValue () ignorando o acessório de elementos de matriz no início do atributo $ attribute agora funciona corretamente (resurtm)
- Aprimoramento:
- # 120: Adicionada a capacidade de definir cookies em um estilo baseado em objeto sem especificar o cookie-name duas vezes (suralc)
- # 136: Adicionado a capacidade de selecionar a conexão de banco de dados no gerador de modelo Gii (samdark)
- # 157: Adicionado a capacidade de usar modelos com objetos implementando ArrayAccess como propriedades em CHtml :: resolveValue (samdark)
- # 165: Permitir que CCacheDependency seja reutilizável em várias chamadas de cache (phpnode)
- # 171: Adicionado suporte para PUT e DELETE pedido tunneled através de POST via parâmetro chamado _method no corpo POST (musterknabe)
- # 179: CLogger agora suporta a filtragem de timings de perfil por várias categorias de curingas (intel352)
- # 191: Habilidade adicional de personalizar classes HTML de CLinkPager através de suas propriedades públicas (mashingan)
- # 206: Adicionado a capacidade de passar o objeto CDbCriteria como parâmetro de relação AR (samdark)
- # 215: Adicionado tokens para CGridView :: updateSelectors para permitir a adição de seletores personalizados substituindo apenas (mdomba)
- # 220: A URL apontando para a API do Google no CGoogleApi agora é relativa ao protocolo (suralc)
- # 237: As guias do CTabView agora suportam a propriedade 'visible' (DaSourcerer)
- # 255: Classificar CArrayDataProvider quando os elementos são CActiveDataProvider ou outro objeto (rusmaxim)
- # 266: Adicionar suporte para HTML5 url, email, número, intervalo e data campos para CHtml (gregmolnar)
- # 267: CDbHttpSession agora é capaz de armazenar carga binária, como a saída do serializador igbinary (DaSourcerer, samdark)
- # 282: Adicionado CCheckBoxColumn :: headerTemplate para permitir cabeçalhos personalizados (mdomba)
- # 286: Adicionado um token para CDateTimeParser (cebe)
- # 294: Adicionado deniedCallback para CAccessControlFilter e CAccessRule para permitir o controle de encaminhamento para um método de negação (luislobo)
- # 342: Adicionado a capacidade de passar parâmetros para RBAC bizRules de CAccessControlFilter configuração (claudejanz, samdark)
- # 356: Extensibilidade melhorada do CDetailView adicionando o método renderItem () (cebe)
- # 369: Adicionado $ hashKey para CCache (kidol)
- # 414: Adicionado parâmetro de classificação para o comando de mensagem yiic que classifica as mensagens por chave ao mesclar (ranvis)
- # 455: Adicionado suporte para o valor padrão em CConsoleCommand :: prompt (eagleoneraptor)
- # 551: Adicionado $ safe parâmetro para CJavaScript :: codificar. Se definido como true, 'js:' não será permitido. Se você precisar passar JavaScript, envolva seu código com CJavaScriptExpression em vez disso (samdark)
- # 552: Adicionado suporte para cache de nível HTTP através de CHttpCacheFilter (DaSourcerer)
- # 568: CHtml :: getIdByName () agora converterá espaços em sublinhado para obter o ID apropriado para elementos HTML (mdomba)
- # 578: Extensões de extensão adicionadas ao CMemCache (samdark)
- # 581: Adicionado o método formatSize no CFormatter para formatar os tamanhos dos arquivos em unidades de ordem diferente - KB, MB, etc (brilyuhns, samdark)
- # 584: O WebAppCommand refatorado para ser mais personalizável, adicionado mais PHPDoc (samdark)
- # 599: Foi adicionada a verificação de sensibilidade de maiúsculas e minúsculas ao autoloading classes (qiangxue)
- # 601: adicionou o método loginRequired () à interface IWebUser (mdomba)
- # 616: CVarDumper está agora corretamente highligting integer array keys (vernes, samdark)
- # 641: Adicionado suporte para personalizar métodos de serialização para componentes de cache (DaSourcerer, Qiang)
- # 648: Propriedade filterHtmlOptions adicionada ao componente CGridColumn (juban)
- # 652: Espaço de nome adicionado aos eventos yiiGridView, para que eles possam ser facilmente removidos por .off () método jQuery (Bethrezen)
- # 673: CClientScript :: scripts alterados para serem públicos (mdomba)
- # 675: CDateFormat :: format () agora retorna null se o parâmetro $ time for null (mdomba)
- # 690: Adicionado nome do remetente e cabeçalhos adequados para a codificação UTF8 ao enviar e-mail em SiteController- & gt; actionContact () (mdomba)
- # 766: Adicionado 'userId' para $ params em CDbAuthManager :: checkAccess () e CPhpAuthManager :: checkAccess () (cebe)
- # 666: Propriedade adicionada $ except to CValidator, uma lista de cenários que o validador não deve ser aplicado ao (resurtm)
- # 839: CListView :: renderItems agora resolve o arquivo de exibição apenas uma vez (nizsheanez)
- # 938: CFileValidator :: sizeToBytes () agora é público e está disponível para uso em toda a aplicação (resurtm)
- # 943: CDateTimeParser agora é capaz de analisar a representação textual curta do mês, p. Jan, Jun, Aug (resurtm)
- # 967: Os comandos da variável de ambiente YII_CONSOLE_COMMANDS agora são sempre adicionados ao aplicativo de console yiic (schmunk)
- O CFileValidator poderia validar o arquivo enviado por suas propriedades MIME-type, added $ mimeTypes e $ wrongMimeType (resurtm)
- Corrigida tradução romena para usar os caracteres de cédula melhor suportados (tudorilisoi)
- Adicionado valor padrão para CConsoleCommand :: confirm (musterknabe)
- Permitido retornar valores inteiros como código de saída do aplicativo em ações do CConsoleCommand (cebe)
- Adicionado terceiro parâmetro para CHttpCookie para configurar o cookie por array (suralc)
- Adicionado getIsFlashRequest (), manipulação adequada de Flash / Flex pedido ao usar CWebLogRoute com FireBug (resurtm)
- Adicionado CBreadcrumbs :: $ activeLinkTemplate e CBreadcrumbs :: $ inactiveLinkTemplate propriedades que permitem alterar o modelo de cada item (resurtm)
- Adicionado comportamentos e eventos com todos os recursos CConsoleCommand :: onBeforeAction & CConsoleCommand :: onAfterAction (Yiivgeny)
- Adicionado suporte de histórico HTML5 em solicitações ajax no CGridView e no CListView usando o History.js v1.7.2-r2 (https://github.com/balupton/history.js) de Benjamin Arthur Lupton (lightglitch)
- Alterado CldrCommand para usar dateTimeFormat médio e dados 18n atualizados usando o CLDR (tanakahisateru) mais recente (6546)
- Adicionado CErrorHandler :: getHttpHeader () para enviar códigos de erro HTTP corretos (pgaultier)
- CGridView, apenas as linhas em tbody devem ter efeito hover (mdomba)
- CClientScript :: $ defaultScriptFilePosition e CClientScript :: $ defaultScriptPosition para controlar o argumento default $ position para registerScriptFile e registerScript (resurtm)
- CHttpCookie agora implementa __toString (suralc)
- Capacidade de definir namespace para controladores de módulo usando CWebModule :: controllerNamespace, documentação sobre o uso de controladores e módulos namespaced (samdark)
- Adicionada a possibilidade de definir o contêiner para CHtml :: radioButtonList e CHtml :: checkBoxList () (pgaultier)
- Adicionado zii romanian (ro) translation; Editado core mensagens para incluir caracteres romenos adequados com marcas diacríticas (tudorilisoi)
- Adicionado interface ILogFilter como uma alternativa para usar CLogFilter como classe base para implementar filtros de log (cebe)
- CAssetManager, adicionou a propriedade $ forceCopy que força globalmente a publicação de arquivos e diretórios de recursos (resurtm)
- O WebAppCommand tem capacidade de gerar novas aplicações com ficheiros específicos git ou hg (resurtm)
- Modelos padrão do Gii: adicionou metadados adicionais (PHPDoc) das variáveis passadas em visualizações para melhor autocompleção do IDE (resurtm)
- Aplicativo gerado pelo WebAppCommand: adicionou metadados adicionais (PHPDoc) das variáveis passadas em visualizações para melhor autocompleção do IDE (resurtm)
- # 1053: CComponent :: evaluateExpression permitirá usar funções globais como callbacks (Ekstazi)
- Alterações:
- # 384: CWebUser :: changeIdentity () irá agora eliminar ficheiro de dados de sessão não utilizado antigo (Qiang)
- # 440: Atualizado JQuery UI para 1.8.22 (samdark)
- # 497: Adicionado componente de log e pré-carregado na configuração do aplicativo de console padrão para registrar corretamente erros (samdark)
- Atualizado jQuery para 1.7.2 (samdark)
- Mais testes de unidade adicionados para CHtml (resurtm)
- Atualizou o analisador de markdown agrupado para v1.2.5 (DaSourcerer)
- Novo:
- Adicionado TranslationsCommand construir comando destinado a ajudar as equipes de tradução (samdark)
O que é novo na versão 1.1.14:
O que há de novo na versão 1.1.12:
O que é novo na versão 1.1.11:
O que há de novo na versão 1.1.10:
Esta versão corrige principalmente vários erros críticos em CActiveForm, CJuiDatePicker e yiilite.php, que foram introduzidos na versão 1.1.9.O que há de novo na versão 1.1.7:
- Bug # 1080: Corrigir fusão recursiva para CDbCriteria :: with (creocoder, Sam Dark)
- Bug # 1624: Corrigido o bug que Gii geraria apenas uma relação para um pai que tem um filho com mais FK ligando para ele (mdomba)
- Bug # 1809: Corrigido o bug que CPgsqlSchema não detectou nomes de seqüência corretamente em alguns cenários (Qiang)
- Bug # 1984: Corrigido o evento de disparo várias vezes ao usar live () / delegate () em páginas AJAXified (Ekstazi, Sam Dark)
- Bug # 2026: Corrigido o bug que o comando de migração não respeita o valor da propriedade connectionID (Qiang)
- Bug # 2032: Corrigido o bug que beginCache com renderDynamic não estava funcionando se usado várias vezes (mdomba)
- Bug # 2037: Corrigido CGridView js bug em selectionChanged & quot; sboxname is undefined & quot; (Mdomba)
- Bug # 2060: Corrigido o bug que CWebUser :: getFlashes () retornaria uma matriz de contadores no resultado (Qiang)
- Erro # 2097: CHttpRequest :: getUrl () deve ser o mesmo que getRequestUri (Qiang)
- Erro # 2099: Erro CDbCriteria :: mergeWith corrigido (creocoder, Sam Dark)
- Bug # 2107: Corrigido o erro que chamar CSqliteSchema :: resetSequence () pode lançar exceção quando não autoincrement coluna (Qiang)
- Bug # 2130: Corrigido bug que o código Gii / diff view não estava começando do topo (mdomba)
- Bug # 2131: Corrigido o bug que as chamadas ajax CGridView iriam exibir algum alerta de erro ao sair da página atual (mdomba, Qiang).
- Bug # 2136: O filtro CGridView agora usa jQuery serialize () em vez de param () para que uma caixa de seleção possa ser usada como um filtro (mdomba)
- Bug # 2140: Corrigido o problema de que CGridView mesmo linhas onde não devidamente processado no Firefox e Chrome (mdomba)
- Bug # 2146: Corrigido o bug em CFileHelper :: getExtension, validatePath e getMimeTypeByExtension que não estava encontrando a extensão de arquivo corretamente (mdomba)
- Bug # 2169: Corrigido o bug que algumas colunas não estão corretamente citadas no MigrateCommand (Qiang)
- Bug # 2178: Corrigido o bug que o construtor de consulta não reconheceu a palavra-chave AS ao usar alias de tabela (Qiang)
- Bug # 2183: Corrigido o bug que chamar CActiveDataProvider :: getTotalItemCount () explicitamente faria desaparecer os escopos aplicados (Qiang)
- Bug # 2188: 'join' em escopos padrão agora é respeitado pelas relações STAT (creocoder, Sam Dark)
- Bug # 2202: Corrigido o bug que ao configurar CJuiDatePicker.flag = true, o seletor de data não apareceria (Qiang)
- Bug # 2214: Corrigido o bug que renameColumn para MSSQL não funcionou corretamente (Qiang)
- Bug: Corrigido o bug que um aviso PHP pode ocorrer na exibição de exceção se um método na pilha de chamadas tiver uma assinatura muito complexa (Qiang)
- Erro: Corrigido o erro que o CGridview quebra ao atualizar elementos não-cgridview (mdomba)
- Bug: corrigido o bug em CCheckBoxColumn, & quot; verificar todos os & quot; Caixa de seleção não estava sendo verificada / desmarcada quando necessário (mdomba)
- Bug: Corrigido o bug no CGridView, selectionChanged não foi chamado quando o & quot; verificar todos os & quot; Foi clicado (mdomba)
- Bug: Seqüência de reinicialização fixa em CDbCommand :: truncateTable (Sam Dark)
- Bug: Correção da incompatibilidade do CMemCache com algumas memórias do pecl-memcache e do memcached (Sam Dark)
- Enh # 558, # 1755: Adicionado escopo parametrizado, escopos adicionados aos critérios, critérios de escopo implementados mesclando (creocoder, Sam Dark)
- Enh # 802: Adicionado o gerenciamento de URL RESTful (Qiang)
- Enh # 923: CUrlManager aprimorado :: parsePathInfo () para suportar matrizes de entrada multidimensionais (Qiang)
- Enh # 1117: Adicionado suporte para & quot; através de & quot; Em relações Active Record permitindo manipular dados de tabela de associação (creocoder, Sam Dark)
- Enh # 1285: Adicionado suporte para usar pacotes de script personalizados com CClientScript (Qiang)
- Enh # 1741: Caracteres CActiveForm :: atributos e summaryID (Qiang) expostos
- Enh # 1770: Adicionada a propriedade CDbColumnSchema :: autoIncrement para permitir verificar se uma coluna de banco de dados é auto-incremental (Qiang)
- Enh # 1782: Propriedade updateSelector adicionada para CGridView e CListView (Qiang)
- Enh # 1786: Enhanced CUrlValidator adicionando propriedade 'validSchemes' e 'defaultScheme' (Y !!)
- Enh # 1784: Enhanced CWidget :: getViewPath () para suportar o caminho de visualização de temática retornado (Qiang)
- Enh # 1792: Enhanced CGridView: no erro ajax uma mensagem adequada é composta e exibida ou, opcionalmente, enviada para o manipulador de erro personalizado (mdomba)
- Enh # 1795: Adicionado CFormInputElement :: $ enableAjaxValidation e $ enableClientValidation para permitir ativar / desativar a validação AJAX para campos de entrada individuais (Qiang)
- Enh # 1816: Adicionou o parâmetro $ dumpLogs para CLogger :: flush () para que as mensagens de log possam ser forçadas a serem despejadas à vontade (Qiang)
- Enh # 1843: Adicionada a opção 'uncheckValue' para CHtml :: activeRadioButtonList e CHtml :: activeCheckBoxList. Permite evitar renderização de campo oculto (creocoder, Sam Dark)
- Melhor # 1847: CClientScript :: $ hasScripts (Qiang) expostos
- Enh # 1852: Adicionado CWebUser :: authTimeout para suportar a separação entre tempo limite de autenticação e tempo limite da sessão (Qiang)
- Enh # 1868: CDbConnection agora abrirá uma conexão DB somente quando necessário, a menos que autoConnection esteja definida true (Qiang)
- Enh # 1937: Adicionado suporte para usar o ID de entrada personalizado para campos de entrada que precisam de validação baseada em AJAX (Qiang)
- Enh # 1993: Permitir relações AR em conexões db separadas (Qiang)
- Enh # 1996: Adicionado suporte para usar a associação de parâmetros com ações baseadas em classes (Qiang)
- Enh # 1999: Adicionada a propriedade CCaptchaAction :: offset para diminuir ou aumentar a legibilidade do captcha (Y !!)
- Enh # 2011: Adicionado CDbCommand :: setFetchMode para permitir configuração do modo de obtenção de resultados PDO (Sam Dark)
- Enh # 2013: Ao criar um modelo com o Gii, os nomes dos campos de banco de dados serão verificados de acordo com as regras de nomeação de variáveis PHP (mdomba)
- Enh # 2024: Adicionado CHttpRequest :: getPut () e getDelete () para suportar totalmente solicitações RESTful (Qiang)
- Enh # 2059: Foi adicionado suporte para respeitar o & quot; alvo & quot; Atributo de um elemento gerado pelo CHtml com & quot; submeter & quot; Opções de HTML (Qiang)
- Enh # 2063: O JavaScript do CActiveForm agora deve acionar corretamente o validaton para os campos de entrada de caixa de seleção e tipo de rádio (Y !!)
- Enh # 2068: CTimestampBehavior :: timestampExpression agora pode ser uma expressão de banco de dados (Qiang)
- Enh # 2093: CDataColumn agora renderizará sempre um filtro se a propriedade filter for uma string (Qiang)
- Enh # 2094: Exibição de instrução SQL adicionada no modo de depuração quando ocorre um erro durante a execução de um SQL (Qiang)
- Enh # 2105: Adicionado CButtonColumn :: afterDelete para que uma função javascript personalizada possa ser chamada após a função delete (mdomba)
- Enh # 2108: Adicionado CGridView :: blankDisplay para permitir a personalização da exibição de células em branco (Qiang)
- Enh # 2125: Adicionado cheque memcached e dica ao verificador de requisitos (Sam Dark)
- Enh # 2133: Definir o foco padrão para a entrada de senha para a página de login Gii (Qiang)
- Enh # 2141: Permitir que a opção 'label' dos itens do menu CMenu seja opcional e tome um valor de string vazio (Qiang)
- Enh # 2142: Adicionado CWebUser :: autoUpdateFlash (Qiang)
- Enh # 2143: Adicionado htmlOptions para CTreeView :: data para que as opções adicionais possam ser definidas para qualquer nó de vista em árvore (mdomba)
- Enh # 2172: Adicionado CDbMigration :: execute () (Qiang)
- Enh # 2179: Adicionado opções CMultiFileUpload :: para que as opções adicionais podem ser passadas para o construtor do objeto multifile (mdomba)
- Enh # 2185: Permitir que o tipo de coluna seja opcional ao especificar colunas para CGridView (Qiang)
- Enh # 2197: Adicionado $ parâmetro de escape para CDbCriteria :: compare () (Qiang)
- Enh # 2198: CJuiTabs melhorado para que o conteúdo da guia possa ser ignorado (Qiang)
- Enh # 2199: Adicionado CListView :: separator (Qiang)
- Enh # 2206: Adicionado parâmetro $ clearErrors para CModel :: validate () (Qiang)
- Enh # 2209: Adicionado CDbConnection :: setAttributes () e getAttributes () para suportar a inicialização da conexão DB com atributos PDO (Qiang)
- Enh # 2226: Adicionado mais tokens ao summaryText quando CBaseListView.enablePagination estiver definido como false (Qiang)
- Enh # 2227: Exposta CActiveRecord :: query () (Qiang)
- Enh: Adicionado CGridView :: ajaxUpdateError para a possibilidade de usar um manipulador de erro ajax personalizado (mdomba)
- Enh: Permitido usando CController em vez de Controller com aplicativo gerado por webapp (Sam Dark)
- Enh: Adicionado a capacidade de executar consulta Relacional sem obter modelos relacionados (creocoder, Sam Dark)
- Enh: A página de erro agora exibe chaves de matriz associativa na lista de parâmetros (Sam Dark)
- Melhor: Adicionado CController :: getActionParams () e invalidActionParams () para permitir a personalização do recurso de ação parâmetro recurso (Qiang)
- Enh: Adicionado CEvent :: $ params (Qiang)
- Melhor: CStringValidator agora usa o charset de aplicativos por padrão se mb_strlen estiver disponível (Sam Dark)
- Chg # 2001: o CGridView agora transforma o rodapé após o conteúdo do corpo (Qiang)
- Chg # 2111: Chamando CActiveRecord :: getRelated ($ name, true) agora irá refazer a consulta DB mesmo se isNewRecord for true (qiang)
- Chg # 2144: Atualizado jQuery UI para a versão 1.8.11 (Sam Dark)
- Chg # 2148: Atualizado jQuery para a versão 1.5.1 (Sam Dark)
- Chg # 2163: CConsoleCommand :: usageError () irá agora sair com o código de erro 1 (Qiang)
- Chg: jQuery UI agora usa minified CSS (Sam Dark)
- Chg: plugin de dimensões jQuery removido, uma vez que está no núcleo jQuery (Sam Dark)
- Chg: Atualizado bgiframe para 2.1.2 (Sam Dark)
- Novo # 1763: Suporte adicionado para executar a validação de dados do lado do cliente sem problemas usando o CActiveForm (Qiang, hightman)
- Novo # 2069: Adicionado CDateValidator (Qiang)
- Novo: Adicionado suporte para cache de consulta (Qiang)
- Novo: Adicionado traduções lituanas (tomas.valacka)
O que há de novo na versão 1.1.6:
- Adicionou um construtor de consulta SQL
- Suporte à migração de banco de dados implementado
- Suporte aprimorado para o uso de formulários múltiplos e dados CLDR i18n atualizados para a versão 1.9
- Exibição de exceção melhorada no modo Web e exibição de erro no modo console
- Adicionado suporte para usar parâmetros anônimos e opções globais nos comandos do console
- Adicionado suporte para usar o X-Sendfile para enviar arquivos
- Esta versão inclui mais de 80 correções de bugs e aprimoramentos de recursos .
- Suporte para o uso de ações em comandos de console, que tomam as opções de linha de comando como parâmetros para as ações.
- Suporte a exibições de temas geradas por widgets.
- Suporte para importar e autoloading classes PHP 5.3 que estão aproveitando o uso de namespace.
- Suporte para retornar resultados do ActiveRecord indexados por um atributo especificado.
- Nesta versão, foram incluídas mais de 60 correções de bugs e aprimoramentos de recursos.
- Alguns dos aprimoramentos importantes incluem a adição de suporte para a associação de parâmetros de ação automática de $ _GET; A adição de CSqlDataProvider e CArrayDataProvider; A adição de CUrlManager :: addRules () para suportar adição dinâmica de regras de roteamento de URL; E refactoring de CActiveRecord para que CActiveRecord :: with () sempre retorna o próprio objeto AR.
O que é novo na versão 1.1.5:
O que há de novo na versão 1.1.4:
Comentários não encontrado