Download the PHP package darkemg/numenor without Composer

On this page you can find all versions of the php package darkemg/numenor. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package numenor

Numenor

Biblioteca PHP de classes utilitárias, para ser usada como um módulo stand-alone em qualquer projeto simples ou em conjunto com frameworks (próprios ou de mercado).

Motivação

Reconheço que esta biblioteca não representa nada de novo sob o Sol (confesso ser uma pessoa passando por uma severa crise de criatividade), mas esse não é o meu objetivo com este projeto. O principal objetivo é agregar algumas funcionalidades que notei serem necessárias na maior parte dos projetos em que já trabalhei e que frameworks de mercado não oferecem de maneira rápida e intuitiva, ou seja, sem precisar configurar diversos módulos e registrar serviços em views ou controllers ou o que quer que seja.

Trabalhar com um framework é maravilhoso, eu sou o primeiro a reconhecer. No entanto, algumas vezes pode ser frustrante. Ao trabalhar em um projeto com Symphony, por exemplo, lembro de ter tido uma imensa dificuldade para achar como fazer uma alteração em parâmetros enviados da maneira correta. Isso seria sanado se todos os projetos tivessem documentação adequada, mas... é mais fácil os nossos políticos passem a se preocupar com o bem do País ao invés das suas carreiras políticas do que exigir a documentação adequada de projetos desenvolvidos nas condições atuais (com preço baixo e prazo apertado, na sua grande maioria).

Por isso criei esta biblioteca. O objetivo principal é oferecer funcionalidades que os frameworks de mercado consideram triviais demais para implementarem (por exemplo, a funcionalidade do cronômetro de execução para benchmark do tempo de execução de aplicações), mas que o programador pode se sentir desmotivado a implementar como um módulo separado porque, ei, o prazo pra terminar o projeto enorme termina bem antes do que seria o necessário para investir tempo criando essas funcionalidades de maneira reaproveitável. Em alguns casos, o que eu fiz foi criar simples adaptadores para certas classes de frameworks que já existem e funcionam bem, porque reinventar a roda é um pecado mortal na área de desenvolvimento, mas certas interfaces são um pouco confusas ou mal documentadas em sua forma original (sério, a documentação da API do Zend Framwork, por exemplo, deixa bastante a desejar).

Falando em Zend, sempre que possível eu estendi as classes do Framework Zend 2. Fiz isso por duas razões:

Exatamente por isso considero que esta biblioteca pode ser facilmente integrada com projetos utilizando qualquer framework de mercado, ou mesmo nenhum framework específico. Procuro manter as ações de configuração em um só lugar, de modo que o desenvolvedor possa usar as classes da Numenor sem precisar alterar muito o seu próprio código já existente (de preferência, alterando apenas 1 linha de código para incluir e configurar a biblioteca para uso). Este é o princípio que guia o design dessa biblioteca e dele não pretendo me afastar.

Disciplina de documentação

Este projeto é também uma forma de me disciplinar melhor na manutenção da documentação de um projeto. Do PHPDoc de cada classe à descrição dos commits feitos ao repositório, e até mesmo a manutenção deste documento, o objetivo é não só manter a documentação do projeto em bom estado (vide reclamação anterior sobre a documentação do Zend Framework), mas também criar a cultura de não deixar a documentação "pra depois" para projetos futuros. Sabe como é: aquela classe que foi criada de última hora e que no afã de codificar acabou ficando sem o bloco de documentação, mas garanto que no próximo commit ela vai estar lá... duzentos commits depois, a classe ficou seu o PHPDoc, não é possível gerar a documentação automática correta com o PHPDocumentor, caos e destruição, histeria em massa...

Documentação é importante, minha gente. Por menor que seja o projeto. Certa feita passei 2 semanas refatorando uma biblioteca inteira de classes que haviam sido criados em uma das empresas que trabalhei, especificamente com o objetivo de tornar a minha vida e a dos meus colegas mais fácil. O esforço não foi bem apreciado pela cabeça pensante da empresa (mesmo a maior parte do trabalho tendo sido feita fora de horário de expediente, sem custo - nóis é burro, sim sinhô, mais nóis tenta fazê as côsa dereito...), mas o tempo economizado logo depois foi de grande valia. Infelizmente a crise de 2015 começou logo depois e... bem, a história fica triste depois desse ponto.

Padrões de nomenclatura

Para os namespaces, classes, atributos, métodos, nomes de variáveis e chaves de objetos/arrays utilizados na biblioteca Numenor, os seguintes padrões foram adotados:

PSR-2 (versão 2.1.3+)

A partir da versão 2.1.3, os arquivos da biblioteca foram compatibilizados com as recomendações do padrão PSR-2. Isto não faz nenhuma diferença na funcionalidade da biblioteca, é claro, mas serve como experiência para lidar com os padrões de código mais aceitos do PHP. E os céus sabem como o PHP precisa de algum padrão para se ancorar e não virar uma grande bagunça.


All versions of numenor with dependencies

PHP Build Version
Package Version
Requires php Version >=7.0
ircmaxell/password-compat Version 1.*
matthiasmullie/minify Version 1.*
zendframework/zend-config Version 2.*
zendframework/zend-cache Version 2.*
zendframework/zend-i18n Version 2.*
zendframework/zend-loader Version 2.*
zendframework/zend-servicemanager Version 2.*
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package darkemg/numenor contains the following files

Loading the files please wait ...