cphalcon

High performance, full-stack PHP framework delivered as a C extension.

BSD-3-CLAUSE License

Downloads
234.4K
Stars
10.8K
Committers
327
cphalcon - Version 1.2.5 Stable

Published by niden over 10 years ago

  • Http\Cookie::__toString() will not throw exceptions (#1427)
  • Phalcon\Http\Cookie::__toString() will return a string value (#1428)
  • Camelize does not ignore the last character of a string anymore (#1436)
  • APC tests do not run under CLI when apc.enable_cli is 0 (#1449)
  • Phalcon\Debug::uri now supports both http and https (#987)
  • Fixed inconsistency in Tag::stylesheetLink/javascriptInclude w.r.t. local URLs (#1486)
  • Fixed bug in Phalcon\Queue\Beanstalk::read() (#1348, #1612)
  • Phalcon\Flash\Session::getMessages() incorrectly removed all messages (#1575)
  • Fixed bug in phalcon_fix_path() (#1601)
  • Added Phalcon\Mvc\Model\Row::toArray() method (#1506)
  • Added support for POINT type in MySQL (#1536)
  • Phalcon\Mvc\Model\Validator::getOption() returns NULL if the option does not exist (#1530)
  • Fixed parsing of annotations containing / (#1480)
  • Make sure that 'persistent' is resolved only when accessed for the first time (#1637)
  • Fix Phalcon\Session\Bag::remove() (#1637)
  • Bug fixes in beanstalkd protocol implementation
  • Phalcon\Paginator\Adapter\Model returns correct results even when page number is incorrect (#1654)
  • Bug fix: no arguments were passed to beforeMatch handler in Phalcon\Mvc\Router (#1556)
  • Phalcon\Logger\Adapter::setLogLevel() is honored by transactions (#1716)
  • Bug fixes in Phalcon\Db\Adapter\Pdo::describeColumns() (#1562)
  • Phalcon\Session\Adapter::__destruct() now calls session_write_close() (#1624)
  • Volt: fixed bug in email_filed() (#1723)
  • Fixed PHP Notices in Phalcon\Debug::onUncaughtException() (#1683)
  • Phalcon\Logger\Adapter::commit() clears the queue (#1748)
  • Constant-time string comparison in Phalcon\Security::checkHash() (#1755)
  • Fix phalcon_escape_multi() to generate valid UTF-8 (#1681)
cphalcon - Version 1.2.4 Stable

Published by niden over 10 years ago

  • Fixed broken ACL inheritance (#905)
  • Fixed crash while rendering element's label (#1210)
  • Fixed XSS vulnerabilities (#1216, #1190)
  • Added support for APCu 4.0.2+ (#1234)
  • Fixed chaining of CSS/JS filters (#1198)
  • Fixed notices and warnings with complex PHQL queries (#1222)
  • Memory allocation optimizations (#1220)
  • Fixed regular expression in \Phalcon\Mvc\Model\Validator\Email (#1243)
  • Documentation bug fixes
  • Phalcon\Mvc\Model::hasOne/hasMany/belongsTo/hasManyToMany/addBehavior() are now public methods (#1166)
  • Added support for MySQL DOUBLE type (#1128)
  • Added support for UTF-8 characters in jsmin
  • Added support for UTF-8 to \Phalcon\Debug (#1099)
  • Fixed regression in \Phalcon\Http\Request::getRawBody() (#1091)
  • Implemented \Phalcon\Cache\Backend\Memory::queryKeys() (#1093)
  • Redirects use status descriptions from RFC 2616 (#1175)
  • \Phalcon\Config::merge now works with derived classes (#1024)
  • \Phalcon\Security::checkHash() allows to restrict the length of the password to avoid attacks like https://www.djangoproject.com/weblog/2013/sep/15/security/
  • \Phalcon\Config can now be cloned (#1277)
  • \Phalcon\Mvc\Query\Builder::__construct() ignores joins (#1327)
  • Bug with a custom Events Manager in Phalcon\Mvc\Models (#1314)
  • Micro Collections return Phalcon\Mvc\Micro\CollectionInterface (#1130)
  • \Phalcon\Forms\Form::getMessages() does not generate a fatal error if the form is valid (#1349)
  • Fixed memory leaks (#1345)
  • Fixed invalid memory reads/writes across the code (#1340)
  • Fixed HAVING handling in Phalcon\Mvc\QueryBuilder (#1396)
  • Bug fixes in \Phalcon\Logger{Adapter,Formatter}\FirePhp (#1333)
  • Bug fixes in Phalcon\Cache\Backend\Xcache (#1406)
  • Phalcon\Forms\Element::__toString() does not throw exceptions anymore (#1413)
  • Other bug fixes (#947, #1131, #1040, #1275, #1392, #1396, #1399, backported patches from 1.3.0 etc)
cphalcon - Version 1.2.3 Stable

Published by niden over 10 years ago

  • Security fixes (#1144)
cphalcon - Version 1.2.2 Stable

Published by niden over 10 years ago

  • Phalcon\Mvc\Model\Query\Builder may now use both integer and string placeholders (#701)
  • Fixed invalid memory reads when GC is on (#469, #927)
  • Phalcon\Flash\Session::getMessage('key') returns now an empty array if the key is not found (#908, #920)
  • Fixed bugs in Phalcon\Escaper (#917)
  • Fixed memory leaks for PHP < 5.4 (#910, #914, #916)
  • Fixed memory access violations (#911, #918, #927, #928)
  • Memory allocation optimizations (#912)
cphalcon - Version 1.2.1 Stable

Published by niden over 10 years ago

  • Reduced overall memory usage (#834, #891, #893)
  • Faster internal array and string manipulation (#830, #833, #837)
  • Fixed PHP 5.5 compilation on Windows
  • Dispatching parameters now can be modified in 'beforeExecuteRoute' events
  • 'beforeException' events can now handle exceptions occurred when executing actions (#140)
  • Added Phalcon\Dispatcher::getHandlerClass and Phalcon\Dispatch::getActionMethod
  • Phalcon\Form\Element* classes now implement Phalcon\Form\ElementInterface
  • Phalcon\Config\Adapter\Ini correctly handles empty sections and INI files without any sections (#829, #837)
  • Phalcon\Http\Request fully supports file arrays (#884, #888)
  • Added support for various padding schemes (PKCS7, ANSI X.923, ISO 10126, ISO/IEC 7816-4, zero padding, space padding) to Phalcon\Crypt (#864, #887)
  • Added getKey(), getError(), isUploadedFile() methods to Phalcon\Http\Request\File (#878, #888)
  • Dot-delimited directives in INI-files are now prsed correctly (#872)
  • Fixed memory leaks in cache backends (#860)
  • Fixed various memory corruption issues (#849, #852, #858, #860, #861)
  • Fixed broken Phalcon\Http\Response::setFileToSend() method (#831, #832)
  • Phalcon\Http\Response::setFileToSend() can now show the file in the browser instead of offering to download it (#853)
  • Added Phalcon\Adapter\Config\Json class to read JSON configs (#844)
  • Added FirePHP Log Adapter and Formatter (#845)
  • Faster Phalcon\Config implementation (#837)
  • Phalcon\Config now support numeric properties as well (#837)
  • Database dialects now support BOOLEAN data type (#816)
  • Phalcon\Mvc\Application::handle() now checks whether the class exists before include()'ing its file (#812, #818)
cphalcon - Version 1.2.0 Stable

Published by niden over 10 years ago

  • Now 'compiledPath' option accept a closure to dynamically create the compilation path in Volt
  • Volt now supports user extensions, these can be used to extend better Volt
  • Now Phalcon\Mvc\Url provides an internal separation for uris for static resources and uris to rewrite resources
  • Added Mvc\Model\Criteria::inWhere to append an IN expression to the criteria
  • Added Mvc\Model\Criteria::notInWhere to append a NOT IN expression to the criteria
  • Added Mvc\Model\Criteria::notBetweenWhere to append a NOT BETWEEN expression to the criteria
  • Added Mvc\Model\Criteria::betweenWhere to append a BETWEEN expression to the criteria
  • Phalcon\Tag::image accepts a second parameter to allow external URLs
  • Added Phalcon\Mvc\View\Simple as an alternative view component, this only have a single level of rendering and works better with Volt's inheritance
  • Better escaping of reserved words in internal PHQL generation
  • Added Phalcon\Http\Request::getJsonRawBody() to return the request body as a decoded JSON
  • Added Phalcon\Http\Request::getHeaders()
  • Support for many to many relations in the ORM
  • Added Phalcon\Assets\Filters\Jsmin to provide on-the-fly javascript minification
  • Added Phalcon\Assets\Filters\Cssmin to provide on-the-fly CSS minification
  • Support for real nested transactions in Phalcon\Db using database savepoints
  • Support for create/list/drop views in Phalcon\Db
  • Added event application:viewRender to Phalcon\Mvc\Application allowing the developer to call the $view->render method as he/she needs
  • Added option to disable literals in PHQL statements, this highly reduces the possibility
    to be attacked using SQL injections
  • Now you can pass an array of variables with virtual local scope in Phalcon\Mvc\View::partial()
  • Syntax CAST(expr AS datatype) is now supported by PHQL
  • Support for CONVERT(expr USING charset) in PHQL
  • Support for {% include "hello" with [var1, var2] %}
  • Phalcon\Mvc\Collection::find receives a parameter 'fields' to specify a list of fields
  • Added Phalcon\Forms\Element\Email and Phalcon\Tag::emailField
  • Support to define arrays using curly braces in Volt {'a': 'b', 'c': 'd'} in Volt
  • Support to make multiple assigments in a single set in Volt {% set a = b, c = d %} in Volt
  • Volt now support 'if'/'else' blocks with empty bodies
  • Support for 'cascade' action in addition to 'restrict' in Virtual Foreign Keys (ORM)
  • Added missing Phalcon\Http\Request\File::getType()
  • Phalcon\Tag is not abstract anymore allowing to create instances of it
  • Phalcon\Tag is now registered as 'tag' in Phalcon\DI\FactoryDefault
  • In a handler in Phalcon\Mvc\Micro returns an object that implements Phalcon\Http\ResponseInterface the response is automatically send()
  • Phalcon\Mvc\View now have a chaineable API
  • Phalcon\Mvc\Micro now can optionally receive the DI in its constructor
  • Now if a method receives an incorrect number of parameters an exception BadMethodCallException is thrown instead of a warning
  • Phalcon\Mvc\Model/Phalcon\Mvc\Collection now checks for a method 'onConstruct' allowing the developer to execute initialization stuff every time a model/collection instance is created
  • Phalcon\Mvc\Model/Phalcon\Mvc\Collection now checks for a method 'afterFetch' allowing the developer to execute initialization stuff every time a model/collection instance is created
    in a findFirst/find operation is created
  • Added Phalcon\Mvc\Collection::summatory easing the generation of this type of aggregation
  • Support for boolean literals in PHQL
  • Support for complex expressions in GROUP BY clauses in PHQL
  • Now PHQL exceptions include the PHQL statement itself
  • Aliases for namespaces are now supported in PHQL
  • Acl\Memory was rewritted to make it simpler and faster, you may regenerate your serialized ACLs
  • Support for assigment operators +=, -=, *=, /= in Volt
  • Support for Profile-Guided optimization installation scripts (See blog)
  • Added Phalcon\Annotations\Adapter\Xcache to store annotations in Xcache
  • Added Phalcon\Mvc\Model\Metadata\Xcache to store models meta-data in Xcache
  • Added
  • Now if a controller implements 'initialize' it only is called if 'beforeExecuteRoute' is not stopped
  • Listeners implementing 'beforeExecuteRoute'/'afterExecuteRoute' are executed first than the ones implemented as methods in the controller/task
cphalcon - Version 1.1.0 Stable

Published by niden over 10 years ago

  • Improvements to the query builder allowing to define bound parameters in the "where" methods
  • Added Mvc\Model\Query\Builder::inWhere to append an IN expression to the query
  • Added Mvc\Model\Query\Builder::notInWhere to append a NOT IN expression to the query
  • Added Mvc\Model\Query\Builder::betweenWhere to append a BETWEEN expression to the query
  • Now Phalcon\Session\Bag injects automatically the default DI if one hasn't beed manually assigned
  • Added Phalcon\Forms\Manager to reference forms and retrieve them from any part of the application
  • If an element in Phalcon\Forms doesn't have a label defined now returns the element's name as label
  • Now if a validator in Phalcon\Validator has defined the option 'cancelOnFail' => true the validation
    will be aborted if the validator fails
  • Added Phalcon\Validation\Validator\Between to check a value between a range of two values
  • Added Phalcon\Validation\Validator\Confirmation to check that a value match its confirmation value (another attribute in the data to validate)
  • Phalcon\Forms\Form now extends from Phalcon\DI\Injectable allowing developers to use application services in the form initialization
  • Now calls to Phalcon\Mvc\Router can be chained
  • Phalcon\Mvc\Router::getRewriteUri is now public
  • Added Phalcon\Mvc\Router\Route::beforeMatch to implement arbitrary conditions to unmatch a matched route
  • Phalcon\Mvc\Model can be now set up to throw an exception when the saving process fails
  • Added Phalcon\Assets component to manage CSS/Javascripts resources in an application
  • Added Phalcon\Annotations\Collection::getAll to return all the annotations in a collection that matches a name
  • Added Phalcon\Crypt component to provide encryption facilities to phalcon applications
  • Now Phalcon\Http\Request: get, getQuery y getPost returns the respective superglobals in case of no parameters
  • Now Phalcon\Mvc\Router supports simple/regex hostname restrictions
  • Added support for filtering/sanitizing in Phalcon\Validation
  • Added events beforeValidation/afterValidation to Phalcon\Validation and Phalcon\Forms\Form
  • Added ability to register user-options in Phalcon\Forms\Form elements
  • Fixed Phalcon\Mvc\Micro\Collections to register a controllers in Phalcon\Mvc\Micro
  • Added Phalcon\Tag::dateField and Phalcon\Tag::numericField
  • Added Phalcon\Forms\Element\Date and Phalcon\Forms\Element\Numeric
  • Added Phalcon\Cache\Frontend\Json to cache data as JSON
  • Added Phalcon\Tag::tagHtml and Phalcon\Tag::tagHtmlClose to generate any kind of HTML tags
  • Phalcon\Http\Response\Cookies is now fixed
  • Added support for automatic crypting of cookies in Phalcon\Http\Response\Cookies
  • Phalcon\DI\FactoryDefault now provides the 'crypt' service
  • Volt's paths are now automatically normalized to realpaths
  • Fixed bug in convert_encoding in Volt
  • Added Phalcon\Filter\UserFilterInterface to be used in custom filters
  • Added support for filters in Phalcon\Forms\Form elements
  • Added maximum recursion depth exceeded control in Phalcon\Kernel
  • Performance: Now Phalcon makes use of interned strings if PHP 5.4 to reduce memory usage
  • Performance: Implemented cache of visibility for all intern properties in 5.3/5.4 increasing performance
  • Performance: All hash keys are now pre-calculated in compilation time to read/write internal properties faster
  • Performance: Now all functions are static allowing the compiler to inline functions or remove those that aren't used by the framework
  • Performance: Now Phalcon provides specific optimizations when the extension is compiled for NTS modules
  • Performance: Implemented function to fetch parameters from the VM stack with minimum overhead
  • Performance: Implemented a global PHQL parser cache to avoid that a same statement be parsed more than one time
  • Performance: Events by priority are now disabled by default. A user must explicitly define that Phalcon\Events\Manager must use a PriorityQueue instead of a FIFF (First In-First Fired)
  • !! Phalcon\CLI\Router API have been changed. Check the manual to update your bootstrap
cphalcon - Version 1.0.1 Stable

Published by niden over 10 years ago

  • Paths aren't correctly normalized in Phalcon\Mvc\Model\MetaData\Files
  • Added extra class prefix to schema.table in Phalcon\Mvc\Model\MetaData to avoid multiple-database collisions
  • Now Phalcon\Mvc\Router ignores numeric paths in controller, namespace, module and action, avoiding that those will be passed to the dispatcher
  • Added Phalcon\Forms\Form::remove to remove an element from the form and Phalcon\Forms\Form::has to check if a form has an element
cphalcon - Version 1.0.0 Stable

Published by niden over 10 years ago

  • Added Phalcon\Mvc\Router::setUriSource to set if the URI source must be $_GET['_url'] or $_SERVER['REQUEST_URI']
  • Added a white-list parameter to Phalcon\Mvc\Model::save(), Phalcon\Mvc\Model::create() and
    Phalcon\Mvc\Model::update() to avoid possible mass-assigment attacks
  • Added leftJoin/rightJoin to QueryBuilder
  • Fixed bug with missing blocks in multiple inheritance in Volt
  • Support for ternary operator in Volt
  • Support for 'forelse' in Volt
  • Added support for loop variable context in Volt
  • Added whitespace control delimiters {%- -%} and {{- -}} to Volt
  • Suport for 'in' and 'not in' operators in Volt
  • Added Phalcon\Mvc\Model::assign to assign an array of values to a model instance
  • Added Phalcon\Mvc\Model::refresh to refresh the state of a model
  • Added Phalcon\Logger\Adapter::setLogLevel to filter messages with greater or less priority
  • Removed constructor from Phalcon\Cache\BackendInterface
  • Added Phalcon\Cache\Multiple, this backend writes to several backends, and reads data according to the order in which backends were registered.
  • Now a model can use a separate connection to read and another to write, this makes horizontal sharding easy
  • Now, a model could implement a method selectReadConnection to dynamically return the correct database according to the current query conditions
  • Added Phalcon\Cache\Backend\Memory to cache data in the current request
  • Added Phalcon\Validation, this component allows the validate a set of data based on pre-defined rules
  • Added Phalcon\Forms, this component acts as a forms builder binding request data to entities, aiding in the validation of data, helping in the errors/messages generated in the validation process
  • Phalcon\Db is now case-folding independent
  • Phalcon\Mvc\Model uses column names keeping the case-folding as they were defined
  • Added Phalcon\Mvc\Router::notFound to define the paths the router must use if any route is matched
  • Improved \Phalcon\Mvc\Router\Annotations to work better with controllers in namespaces and modules
  • A model can be marked to keep record snapshots allowing to check what fields have been changed
  • The _source and _schema properties have been moved from Phalcon\Mvc\Model to Phalcon\Mvc\Model\Manager. This allow set source/schema in the model initializer
  • Added Phalcon\Session\Bag::remove to remove an specific variable from a session bag
  • Added support for complex expressions in PHQL ORDER BY clause
  • Added support for complex expressions in PHQL GROUP BY clause
  • Added support for $_SERVER['REQUEST_URI'] if $_GET['_url'] is not available in Phalcon\Mvc\Router
  • Added an option to set up specific models with dynamic update instead of all-fields update, every field is checked if it was changed to dynamically create a UPDATE SQL column only with those fields that changed
  • Added a minimalist client for the Beanstalk queue server
cphalcon - Version 0.9.0 Stable

Published by niden over 10 years ago

  • Support for reusable records. A relation can be marked to cache queried records in memory to speedup getting related records
  • Added 'elseif' statement to Volt
  • Changed static key in Volt's 'cache' to any valid expression
  • Added Phalcon\Logger\Adapter\Syslog and Phalcon\Logger\Adapter\Stream to Phalcon\Logger
  • Added Phalcon\Logger\Multiple to send logs to multiples adapters
  • Added formatters abstraction to Phalcon\Logger, now including: Phalcon\Logger\Formatter\Line, Phalcon\Logger\Formatter\Json and Phalcon\Logger\Formatter\Syslog
  • Added Phalcon\Annotations\Adapter\Files to Phalcon\Annotations, this adapter stores annotations in PHP files
  • Added Phalcon\Annotations, a general purpose component to read annotations from docblocks
  • Phalcon\Mvc\Model now supports saving related records using magic methods with a unique call to 'save'
  • Adding autoescaping option to Phalcon\Tag
  • Added andWhere/orWhere to Phalcon\Mvc\Model\Criteria
  • Added passing an HTTP body to the Phalcon\Http\Response's constructor
  • Phalcon\Mvc\View is now able to pass variables to the views using magic methods
  • Support for slice with filter and built-in syntax in Volt
  • Added magic methods in the ORM to find/findFirst by a single field
  • Improved XSS protection in Phalcon\Tag
  • Implemented queuing events with priorities in Phalcon\Events
  • Implemented collecting of returned responses in Phalcon\Events
  • Added toArray method to Phalcon\Mvc\Model\Resultset classes
  • Added hydration modes to Phalcon\Mvc\Model\Resultset (HYDRATE_RECORDS, HYDRATE_ARRAYS, HYDRATE_OBJECTS)
cphalcon - Version 0.8.0 Stable

Published by niden over 10 years ago

  • Improved Phalcon\Escaper, this component provides contextual escaping of different kinds of texts (CSS, Javascript, URL, HTML Attributes etc)
  • Added serialization of Mvc\Collection instances
  • Added Phalcon\Mvc\View::setLayout to change the layout instead of looking for a controller with the same name as the latest controller dispatched
  • Now is possible to pass an option called 'options' to any of the Phalcon\Db\Adapter\Pdo adapters to set extra
    PDO options in the connection
  • Removed filtering of keys from Phalcon\Cache\Backend\File
  • Support for creating groups of routes using Phalcon\Router\Route\Group
  • Added Phalcon\Mvc\Micro middleware events
  • Implemented virtual scopes in Phalcon\Mvc\View
  • Added support for behaviors in the ORM including: Phalcon\Mvc\Model\Behavior\Timestampable and Phalcon\Mvc\Model\Behavior\SoftDelete
  • Improved serialization of Mvc\Model instances and complex resultsets
  • Added an option to change the layouts directory and partials directory in Phalcon\Mvc\View
  • Added an option to disable an specific level of rendering in Phalcon\Mvc\View
  • Added Phalcon\Mvc\Model::setup to globally enable/disable specific features in the ORM
  • Added Phalcon\Db::setup to globally enable/disable specific features in the database component
  • Added Phalcon\Mvc\Model\Resultset::delete to delete every complete object returned in a resultset using a transaction
  • Added Phalcon\Mvc\Model\Resultset::update to update every complete object returned in a resultset using a transaction
  • Added support for converters in Phalcon\Mvc\Router
  • Added Phalcon\Mvc\View::getRender to return contents of a template into a string
  • Added methods to support HTTP method PATCH
  • Now Phalcon\Mvc\Model uses the last part of a namespaced class name as source name
  • Phalcon\DI now implements ArrayAccess to get/set services
  • Phalcon\Mvc\Micro now implements ArrayAccess to get services from the related services container
  • Improved building of complex service definitions in the DI
  • Added toArray method to Phalcon\Mvc\Model instances
  • Added autoescape mode in Volt
  • Removed unnecessary intermediate zvals when retrieving array items reducing overall memory comsumption
  • Removed unnecessary intermediate zvals when retrieving object members reducing overall memory comsumption
  • Removed PH_CHECK constant making simpler calling functions and methods internally
  • Added Phalcon\Text::increment, Phalcon\Text::random, Phalcon\Text::lower, Phalcon\Text::upper, Phalcon\Text::startsWith, Phalcon\Text::endsWith
  • Added Phalcon\Config::merge to merge recursively a configuration with another one
  • Added Phalcon\Config::toArray method to recursively convert an object to an array
  • Improved Volt runtime error/syntax error messages including always line and file
  • Added Phalcon\Security providing a set of functions to improve the security in Phalcon applications like bcrypt password hashing and CSRF protection
  • Added Phalcon\Mvc\View\Engine\Volt\Compiler::addFunction to register user functions
  • Added Phalcon\Mvc\View\Engine\Volt\Compiler::addFilter to register user filters
  • Added Phalcon\Mvc\Model\Relation as class for model relationships
  • Added '[' and ']' as delimiters to escape PHQL reserverd words
  • Reduced memory usage in PHQL parser/tokenizer
  • Added support for aliasing of model relationships in Phalcon\Mvc\Model
  • Relationships in Models are now case insensitive to be compliant with the PHP standard
  • Looking for a relationship in the models manager now performs a search in O(1) order
  • Added "cache" statement in Volt to cache view fragments
  • Added "do" statement to Volt to execute an expression without printing its evaluated value
  • Added "include" statement to Volt to perform a statical include of other views in compiling time
  • Added an internal method cache to speed up overall execution
  • Reduced memory allocation when reading/writing properties from objects
  • Added missing Phalcon\Mvc\Collection::getMessages() and Phalcon\Mvc\Collection::appendMessage
  • Added Phalcon\Config::get method to obtain a value from the configuration object setting a default value
  • Added an optional default value to Phalcon\Session\Adapter::get if this method returns a null value
  • Added OO methods to Phalcon\Session\Bag::get
  • Added an optional default value to Phalcon\Session\Bag::get if this method returns a null value
  • Added multiple inheritance and two-way replacement of blocks in Volt
  • Added evaluation of "tests" to Volt
  • Added support to call methods and read properties in sub-objects in Volt
  • Volt now checks if a variable name is a registered service and injects it to the views
  • The "For" statement in Volt now supports get the current key and add an optional if evaluation
  • Added support to read PHP constants in Volt
  • Added "prefix" option to Volt, allowing prefixing the resulting compiled paths
  • Now registerAutoloader in module definitions receives the services container (DI) as first parameter
  • Fixed skipAttributes methods in Phalcon\Mvc\Model
  • Fixed use of muliples databases in the ORM
  • Fixed use of a common events manager databases in the ORM
  • Now Phalcon\Mvc\Router can be configured to remove extra slashes passed in the URI
  • In Phalcon\Mvc\Router the default route is '/' when none is giving
cphalcon - Version 0.7.0 Stable

Published by niden over 10 years ago

  • Now the namespace can be set in a path of the route and it will passed automatically to the dispatcher
  • Implementing URL generation based on routes without regular expressions
  • Now is possible register a template engine in Phalcon\Mvc\View with an anonymous function
  • Passing 'compileAlways' => true as option for Volt makes that the templates will be always compiled instead of checking if they have changes
  • Now Phalcon\Cache\Backend adapters return false in the "exists" method if the cache has expired
  • Fixed bug in Phalcon\Db\Result\Pdo::seek when using bind parameters
  • Implemented a fast way to retrieve object's members without adding a memory frame
  • Now Phalcon\Mvc\Dispatcher checks for methods beforeExecuteRoute and afterExecuteRoute in the controller handler
  • Added phalcon_start_with to check if a zval string starts with other string avoiding substrs in PHP userland
  • Added interfaces to most classes helping the developer to easily create component replacements and add new adapters/classes
  • Implemented interfaces on their own components
  • Implemented event propagation, event cancelation and ability to stop events in EventsManager
  • Added Phalcon\Dispatcher::getDefaultNamespace
  • Added a $merge parameter to every Phalcon\Loader strategy to merge current values with a new array
  • Implemented registering services as "always shared"
  • Now Phalcon\Mvc\Model::save, Phalcon\Mvc\Model::create, Phalcon\Mvc\Model::update receives an array to assign the model's attributes from it
  • Support for UTF-8/UTF-16 characters on 32 bit platforms for PHQL/Volt parsers
  • Support for custom schemas in PHQL
  • Now is possible pass bound parameters to Phalcon\DB::fetchOne and Phalcon\Db::fetchAll
  • Implemented independent column map for models and a full escaping system for columns/tables/schemas according to the database system conventions
  • Added a $merge parameter to Phalcon\Mvc\Application::registerModules to merge new modules with current ones
  • Phalcon\Mvc\Application now allows registering a module using an anonymous function
  • Added Phalcon\Mvc\Model\Query\Builder aiding in the creation of PHQL queries using an OO interface
  • Support for COUNT(DISTINCT x) syntax in PHQL
  • Allowing user-defined messages in most Phalcon\Mvc\Model\Validators
  • Now Phalcon\Mvc\Model\Validator\StringLength uses mb_strlen when it is available
  • Allowed pass a URI manually to Phalcon\Mvc\Micro::handle()
  • Fixed missing json_encode filter in Volt
  • Moving cache implementation from Phalcon\Mvc\Model to Phalcon\Mvc\Model\Query, this allows caching both simple and complex resultsets
  • Added Phalcon\Paginator\Adapter\QueryBuilder to use a PHQL Query Builder as source of data
  • Added adapter for Oracle databases in Phalcon\Db
cphalcon - Version 0.6.1 Stable

Published by niden over 10 years ago

0.6.1

  • Fixed bug in Phalcon\Mvc\Micro's not-found handler
  • Fixed bug reading named-parameters with quantifiers in Phalcon\Mvc\Router
  • Now named-routes are processed without use regular expressions
  • Now $this->view->disable() disables the auto-rendering mode completely
  • Added Phalcon\Mvc\View::enable that re-enables the auto-rendering mode
  • Added Phalcon\Cache\Backend::stop() to stop the cache without store anything into the backend
  • Fixed bug in Phalcon\Mvc\View that saves an empty cached content when using a cache
  • Implemented Phalcon\Db::FETCH_OBJ to return objects instead of arrays
  • Added functions version, version_id, date and time to Volt
  • PHQL OFFSET complete implementation
  • Fixed bug in Phalcon\Mvc\Collection::find and Phalcon\Mvc\Collection::findFirst
  • Removing unnecessary duplications in zval PHALCON_GET_FOREACH_VALUE
  • Merging PHALCON_INIT_NVAR into PHALCON_GET_FOREACH_KEY
  • Added HTML/XHTML document type support in Phalcon\Tag
  • Added "exists" method to every backend in Phalcon\Cache\Backend
  • Now is required pass true as parameter to Phalcon\Http\Request::getClientAddress if the user want to check the client address in the $_SERVER['HTTP_X_FORWARDED_FOR'] header
  • Removed unnecessary duplication of function names when calling function and methods
  • Now Phalcon can call functions from the PHP userspace without use call_user_func_array/call_user_func increasing performance
  • Added beforeException event triggered from Phalcon\Dispatcher before launch an exception allowing injecting code before launch a real exception modifing the behavior of the component
  • Now is possible attach listeners directly to specific events in Phalcon\Event\Managers
  • Added Phalcon\Http\Request::get and Phalcon\Http\Request::has to read/check values from $_REQUEST
  • Added Phalcon\Cache\Backend\Mongo that uses a MongoDB collection as backend
  • Added options (compiled path, compiled separator, stat) for Volt
  • Concatenation on the same variable is now faster by using realloc instead of zval duplication
  • Some internal macros like PHALCON_INIT_VAR now produce fewer C-code making the extension lighter
  • Removed initialization of the memory stack frame when isn't needed
  • Inlining of scope locating functions to make read/write on objects faster
  • Array joins are now faster because a zval needle isn't needed anymore
  • Implemented fast copy/ctor to return_value reducing the overall memory usage
  • Added Phalcon\Tag::friendlyTitle to create friendly titles
  • Added a new C-based template engine highly coupled with Phalcon called Volt
  • Registered Phalcon\Mvc\Model\Transaction\Manager in Phalcon\DI\FactoryDefault as 'transactionManager'
  • Added Phalcon\Escaper to add contextual escaping of different kinds of texts
  • Registered Phalcon\Escaper in Phalcon\DI\FactoryDefault as 'escaper'
  • Phalcon\Tag now caches resolved services such as 'url' and 'dispatcher' making the view generation faster
  • Added support to the OFFSET clause in PHQL
  • Optimized Phalcon\Mvc\Model\Metadata to use fewer memory when using a high number of tables
  • Changed the use of strpos by phalcon_memnstr to search for strings into other strings reducing unnecessary zval allocations
  • Added faster camelize/uncamelize functions
  • Now a model can implement the method metaData to return the model meta-data insteaf of leave Phalcon do it automatically
  • Phalcon\Mvc\Model::skipAttributes allows setting a group of attributes that must be skipped from the INSERT/UPDATE SQL generation
  • Added Phalcon\Mvc\Collection to manage non-structured data models, for example: MongoDB
cphalcon - Version 1.3.1 Stable

Published by niden over 10 years ago

  • Fixed segfault in Phalcon\Di\Service::resolve when string class does not exist (#2205)
  • Moved global zvals to RINIT/RSHUTDOWN to improve stability on Windows TS builds
  • Moved pre-allocated frames to RINIT/RSHUTDOWN to improve stability on Windows TS builds
  • Fixed segfault when replacing Phalcon\Session adapter by PHP userland adapter
  • Fixed zval invalid indirection in Phalcon\Security hash
  • Fixed segfault when passing an invalid number of arguments to Phalcon\Annotations\Reader::parseDocBlock
  • Private and Protected properties weren't unmangled in Phalcon\Annotations\Reader
  • First character of controller name was removed when isExactHandler flag is on
cphalcon - Version 0.5.3 Stable

Published by niden over 10 years ago

  • Fixed bug in Phalcon\Mvc\Model::_exists making PHQL inserts fail
  • Fixed bug passing extra parameters to Phalcon\Mvc\Model magic methods
  • Fixed bug in Phalcon\Loader producing that pathFound event wasn't triggered
  • Added throwing exception in Phalcon\Loader when trying to write in a read only file
  • Now Phalcon\Loader replaces _ by DIRECTORY_SEPARATOR in most strategies
  • Fixed bug in Phalcon\Mvc\Model\Resultset::seek that doesn't allow to paginate results in Phalcon\Paginator
  • Fixed bug in Phalcon\Mvc\Dispatcher that doesn't throws an exception when an infinite forward is produced
  • PDO error mode was changed to PDO::ERRMODE_EXCEPTION producing exceptions instead of silent error messages
  • Fixed wrong precedence in PHQL operators
  • Fixed bug that makes that the correct value for SERIAL columns wasn't filled for PostgreSQL
  • Added an extra parameter "data" to an event triggering in Phalcon\Events allowing getting more information about certain event
  • Added an extra parameter to Phalcon\Db::query and Phalcon\Db::execute to bind parameters by their data type
  • Added recognition of the related sequence for PostgreSQL when inserting data into tables with SERIAL columns Phalcon\Mvc\Model
  • Phalcon\Db\Adapter*::describeColumns try to find the best bind param type for every column
  • Added bindType to Phalcon\Db\Column to know what its best bind param to cast according to its data type
  • Added getDefaultValue() to Phalcon\Db\Adapter* in order the best value to insert in an auto-increment or serial column
  • Added bindTypes param to Phalcon\Mvc\Model::find and Phalcon\Mvc\Model::findFirst
  • Due to the new agressive type-casting when binding parameters, Phalcon\Mvc\Model isn't capable anymore of generate reliable automatic keys for the cache
  • Fixed bug that makes actions and events implemented in a parent class innaccessibles for Phalcon
  • Now Phalcon\Text::camelize checks for underscores and dashes
  • Added Phalcon\Mvc\Model::getRelated to return related relation models on namespaced models
    • Added Phalcon\CLI components to create CLI applications
    • Added SQLite support
    • Removed support for Twig and Mustache
    • Added PhalconQL (PHQL), a high level query language directly engaged with the Phalcon\Mvc\Model component
    • Multiples refactorings removing unused code
    • Added support to match routes on a determined individual or a set of HTTP methods
    • Added support for named parameters without requiring a regular expression in Phalcon\Mvc\Router
    • Added Phalcon\Mvc\Router\Route to encapsulate the information of a route
    • Added Phalcon\Mvc\Micro to create applications in a micro-framework style
    • Added Phalcon\Di\FactoryDefault that has the Phalcon Components registered as Default
  • Added Phalcon\DI as dependency injector container
  • Added Phalcon\Events as events management component
  • Removed Phalcon\Router\Rewrite
  • Phalcon\Router\Regex moved to Phalcon\Mvc\Router
  • Phalcon\Dispatcher moved to Phalcon\Mvc\Dispatcher
  • Phalcon\Mvc\Dispatcher::forward now only accepts an array parameter
  • Dispatcher events has been removed (beforeDispatch and afterDispatch) in favor of the new EventsManager component
  • Controller look up based on controllersDir has been removed in favor of autoloaders
  • Phalcon\Controller moved to Phalcon\Mvc\Controller
  • Phalcon\Model moved to Phalcon\Mvc\Model
  • Phalcon\Transaction moved to Phalcon\Mvc\Model\Transaction
  • Removed Phalcon\Db\Pool
  • ModelsManager look up based on modelsDir has been removed in favor of autoloaders
  • Phalcon\Db\Pdo::describeColumns return an array of Phalcon\Db\Columns
  • Removed Phalcon\Controller\Front
  • Most "Factories" and "Singletons" implementations were removed
  • Phalcon\Mvc\Model\Metadata adapters must be instantiated directly
  • Removed memory leaks when reading class constants
  • Replaced the database native adapters by PDO
  • Classes are now registered as PHP namespaces.
  • Improved stability running Phalcon with PHP versions lower or equal than 5.3.3
  • Thousand of unnecessary intermediate variables were removed improving stability
  • Phalcon now performs a reduced number of copy-on-write checks
  • Added class modifiers like Abstract or Final to Phalcon classes
  • Fixed memory leaks generated when throwing internal exceptions
  • Removed deprecated experimental function and method calls
cphalcon - Version 0.4.5 Stable

Published by niden over 10 years ago

Fixed problem with Phalcon_Session functions not registered
Fixed problem with partials, that removed any output previously generated
Added Phalcon_Session::destroy
Fixed memory leaks generated when throwing internal exceptions
Added support for PostgreSQL database
Phalcon_View is now fully integrated with Phalcon_Cache
Dropped unnecessary registration of arguments for exception classes
Dropped unnecessary zval copy-on-write checks
Fixed double registration of Phalcon_Config in MODULE_MINIT
Fixed method definition of destruct adding ZEND_ACC_DTOR
Fixed bug in Phalcon_Model_Query making that the component does not apply quoting properly
Fixed segmentation fault in Phalcon_Loader
Fixed memory leaks generated when retreiving some static properties
Replaced PHP's str_replace for a slightly faster once
Improved stability working with static properties in multi-threaded web servers
Fixed bug in integration between Phalcon_Db and Phalcon_Logger
Complex concatenations are now made without a lot of intermediate zvals improving the overall memory usage
Improved throwing of simple exceptions with a unique string parameter
Added Phalcon_Dispatcher::setParam to change a routing parameter
Added Phalcon_Request::redirect to make HTTP redirections from controllers
Phalcon_Model
* is now completely decoupled from Phalcon_Controller_Front
Phalcon_Model_Base::createSQLSelectMulti and Phalcon_Model_Base::createSQLSelectOne has been joined into a single method
Added Phalcon_Db::bindParams in order to avoid SQL injections
Added "bind" parameter to Phalcon_Model_Base::find, Phalcon_Model_Base::findFirst, Phalcon_Model_Base::count, Phalcon_Model_Base::sum, etc. to avoid SQL injections
The database adapter Phalcon_Db_Adapter_Mysql was moved from mysql extension to mysqli
Added Phalcon_Db_Result_Mysql to encapsulate the resultset functionality. Those methods were before in Phalcon_Db.
Fixed bug rebuilding symbol table in Phalcon_View_Engine_Php::render
Added Phalcon_View::pick to choose a view to show different than last-controller/last-action
Now is possible to define routes with a shortened syntax in Regex
Phalcon is now using Compare-and-Swap to reduce the number of writes to cache adapters like files or APC, also avoiding the unnecesary register of shutdown functions
Fixed possible segmentation fault when releasing memory of zval strings that has constant values
Fixed bug avoiding that auto-globals will jit-initialized inside Phalcon on some old versions of PHP
Moved zval separation to phalcon_array_update
*
Moved zval separation to phalcon_array_append
*
Moved zval constructor to phalcon_array_update
*
Implemented functions to avoid use arrays of zvals parameters for static and method calls
Removed error reporting silence from the extension
Removed thousands of unnecessary referencing/deferencing vars when calling functions/methods
Moved multi-dimensional array updates to fewer complex functions
Moved access to static properties to a function that controls possible invalid access to non existent properties
Fixed memory leaks in Phalcon_Cache and Phalcon_Transaction_Manager
Added virtual foreign keys to Phalcon_Model (ORM)
Implemented the possibility to serialize Phalcon_Model_Resultset objects
Implemented the possibility to access Phalcon_Model_Resultset as an array of objects
Added Phalcon_Cache_Backend_Apc, Phalcon_Cache_Backend_Memcache, Phalcon_Cache_Frontend_None and Phalcon_Cache_Frontend_Data
Added Phalcon_Request::hasPost and Phalcon_Request::hasQuery
Added parameter "persistent" to Phalcon_Db allowing creating persistent connections
Added alphanum to Phalcon_Filter to filter strings allowing filtering only alpha-numeric characters
Refactored Phalcon_Tag::select and Phalcon_Tag::selectStatic, now uses the same code in Phalcon_Tag_Select
Added Phalcon_Tag::checkField helper to create input[type="checkbox"] tags
Added Phalcon_View::getParams to recover extra params sent to the request
Sometimes when Phalcon throws an internal exception or E_ERROR the memory stack is not properly cleaned producing an unstable state, this situation was fixed
Phalcon_View was refactored to allow other templating engines like Mustache or Twig
Added Phalcon_Translate for multi-lingual translation messages based on adapters
Added calculation functions to Phalcon_Model: count, sum, average, minimum and maximum
Dispatcher exceptions now throws a HTTP 404 Not found status
Added Phalcon_Router_Regex to define routes based on regular expressions
Renamed Phalcon_Request::getBestQualityCharset() to Phalcon_Request::getBestCharset()
Added Phalcon_Request::getBestLanguage()

Package Rankings
Top 3.55% on Proxy.golang.org
Top 6.24% on Alpine-v3.11
Top 6.18% on Alpine-v3.5
Top 2.33% on Packagist.org
Top 6.87% on Alpine-v3.3
Top 6.64% on Alpine-v3.4
Top 7.94% on Alpine-v3.10
Top 6.3% on Alpine-v3.9
Badges
Extracted from project README
Phalcon 5.x CI Codecov master Codecov 5.0x Discord Contributors Phalcon Backers OpenCollective OpenCollective 5.0 Pull Requests 5.0 Issues