diff --git a/generate-trstrings.php b/generate-trstrings.php index 2bfb4426f4c9..197d766e6f3a 100644 --- a/generate-trstrings.php +++ b/generate-trstrings.php @@ -98,7 +98,7 @@ public function processUniqueSection($section, &$uniqueStrings) if (preg_match_all('#[a-zA-Z0-9]+_ #', $line, $matches, PREG_SET_ORDER)) { foreach ($matches as $position => $match) { $placeholders[$position] = $match[0]; - $listMatches[1] = str_replace($match[0], ':' . ($number) . ':', $listMatches[1]); + $listMatches[1] = str_replace($match[0], ':' . ($number) . ': ', $listMatches[1]); $number++; } } @@ -143,7 +143,7 @@ public function processUniqueSection($section, &$uniqueStrings) if (preg_match_all('#[a-zA-Z0-9]+_ #', $section1, $matches, PREG_SET_ORDER)) { foreach ($matches as $position => $match) { $placeholders[$position] = $match[0]; - $section1 = str_replace($match[0], ':' . ($number) . ':', $section1); + $section1 = str_replace($match[0], ':' . ($number) . ': ', $section1); $number++; } } diff --git a/transifex/base-rst/en/reference/benchmark/hello-world.rst b/transifex/base-rst/en/reference/benchmark/hello-world.rst index 508251b33c3e..66daec83e072 100644 --- a/transifex/base-rst/en/reference/benchmark/hello-world.rst +++ b/transifex/base-rst/en/reference/benchmark/hello-world.rst @@ -20,7 +20,7 @@ %{hello-world_cfd6d0dbc2b5533200c7d0c3369a32d8}% ----------------------- -* `Zend Framework`_ +* FuelPHP_ * Symfony_ * `Zend Framework`_ * {%hello-world_974854eecb92ef6958153031d2980ebf%} diff --git a/transifex/strings/en.json b/transifex/strings/en.json index 6f385866276d..a8096c3df3f9 100644 --- a/transifex/strings/en.json +++ b/transifex/strings/en.json @@ -91,7 +91,7 @@ "annotations_206bd6266ccc781d8844f3db2de5d557": "Implementing your own adapters", "annotations_4a796a3923bf7a5469b0cf40f2ec3e01": "The :1: interface must be implemented in order to create your own annotations adapters or extend the existing ones.", "apache_980177b08e4d9434a584ed1d7affd9c5": "Apache Installation Notes", - "apache_f5f74f14af90f6465d786a06e1e0d6ec": ":1:is a popular and well known web server available on many platforms.", + "apache_f5f74f14af90f6465d786a06e1e0d6ec": ":1: is a popular and well known web server available on many platforms.", "apache_68d3e85aa63aa662569b0bc09eadc769": "Configuring Apache for Phalcon", "apache_302e3e21e0f814fce2fec0a678c9cb8d": "The following are potential configurations you can use to setup Apache with Phalcon. These notes are primarily focused on the configuration of the mod-rewrite module allowing to use friendly urls and the :1:. Commonly an application has the following structure:", "apache_16ffba90f0c26620fe972d6349e62c45": "Directory under the main Document Root", @@ -214,8 +214,10 @@ "hello-world_12c06e7bb9c136c9591eba00a6d20df5": "Number of included PHP files on a single request (measured using function get_included_files_.", "hello-world_930912b857a16683e9923928631734f2": "Memory Usage per request (measured using function memory_get_usage_.", "hello-world_2fca5a426c97e12309c77c8ebb5f9e22": "Yii_", + "hello-world_800b657c3f98723ce95ad369284e8067": ":1: ", "hello-world_a0fc6901c92cc0d1ceeefbb499050deb": ":1: ", "hello-world_974854eecb92ef6958153031d2980ebf": "Kohana_", + "hello-world_20db5a3feffc2946e1e78db4565ade7f": ":1: ", "hello-world_4af0e1cd0bb6a37e3b7e6438a72e29fe": "Laravel_", "hello-world_1814cb15a7189e6fa2eec7874ecb2a15": "CodeIgniter_", "hello-world_cfd6d0dbc2b5533200c7d0c3369a32d8": "Participant Frameworks", @@ -266,11 +268,11 @@ "micro_ee50f1d496b9cd00d5955f10f6dc7517": "Conclusion", "micro_68ef87283b6316f5d9008d3f147a2511": "The compiled nature of Phalcon offers extraordinary performance that outperforms all other frameworks measured in these benchmarks.", "benchmark_af2e2da955fd1ab2268f97886e9c08eb": "Framework Benchmarks", - "benchmark_7140da399fbd56a9acbbf281c14f5440": "In the past, performance was not considered one of the top priorities when developing web applications. Reasonable hardware was able to compensate for that. However when Google :1:to take site speed into account in the search rankings, performance became one of the top priorities alongside functionality. This is yet another way in which improving web performance will have a positive impact on a website.", + "benchmark_7140da399fbd56a9acbbf281c14f5440": "In the past, performance was not considered one of the top priorities when developing web applications. Reasonable hardware was able to compensate for that. However when Google :1: to take site speed into account in the search rankings, performance became one of the top priorities alongside functionality. This is yet another way in which improving web performance will have a positive impact on a website.", "benchmark_0f23fda21483a4d09237fa289d2d918e": "The benchmarks below, show how efficient Phalcon is when compared with other traditional PHP frameworks. These benchmarks are updated as stable versions are released from any of the frameworks mentioned or Phalcon itself.", "benchmark_e2eb53dc521cdc706904c9fd66811349": "We encourage programmers to clone the test suite that we are using for our benchmarks. If you have any additional optimizations or comments please :1:. :2:", "benchmark_d733affe450e8a7313f7a49720bdc7c8": "What was the test environment?", - "benchmark_b30930151f789f02ee036390e2c271ef": ":1:intermediate code cache was enabled for all frameworks. Any Apache mod-rewrite feature was disabled when possible to avoid potentially additional overheads.", + "benchmark_b30930151f789f02ee036390e2c271ef": ":1: intermediate code cache was enabled for all frameworks. Any Apache mod-rewrite feature was disabled when possible to avoid potentially additional overheads.", "benchmark_d7127484bf76faec191fd8a65c68f866": "The testing hardware environment is as follows:", "benchmark_cd36fee2ff1b82b5ac027acd606f85b4": "Operating System: Mac OS X Lion 10.7.4", "benchmark_009f956f811857376bea3b8eb000da31": "Web Server: Apache httpd 2.2.22", @@ -284,7 +286,7 @@ "benchmark_dbaabff1cfbd442a3bf605fddc0c302c": "`Speed, performance and human perception:1:", "benchmark_b0492394b589b5ff8f6fb98048d65d8f": "External Resources", "built-in_f4e44f5b67bc461492c485de3482861f": "Using PHP Built-in webserver", - "built-in_34d6fa77a4b13cf9bfc63b2fea4aac90": "As of PHP 5.4.0, you can use PHP's on built-:1:web server for development.", + "built-in_34d6fa77a4b13cf9bfc63b2fea4aac90": "As of PHP 5.4.0, you can use PHP's on built-:1: web server for development.", "built-in_0140884a37f0765e4896b5d62697a5c3": "To start the server type:", "built-in_1b20c836cc0e00031150a50f170c15ea": "If you want to rewrite the URIs to the index.php file use the following router file (.htrouter.php):", "built-in_699feca0985169a909f4d4beb52e11aa": "and then start the server with:", @@ -374,7 +376,7 @@ "cache_419ec6612f1e5e70cf3077edcdc773aa": "This backend will store cached content on XCache (XCache_). The available options for this backend are:", "cache_abe87b090af1d6029dbe8840c214141d": "There are more adapters available for this components in the :1:", "cherokee_652cb67b36f01584f07a075e22fca29c": "Cherokee Installation Notes", - "cherokee_c1d9745e37dfaf13ee00c49dcfc2722b": ":1:is a high-performance web server. It is very fast, flexible and easy to configure.", + "cherokee_c1d9745e37dfaf13ee00c49dcfc2722b": ":1: is a high-performance web server. It is very fast, flexible and easy to configure.", "cherokee_56a1cdd3587cf76b784a7612b21ef88f": "Configuring Cherokee for Phalcon", "cherokee_f52a598d439cbd672b01adabe69ea284": "Cherokee provides a friendly graphical interface to configure almost every setting available in the web server. Start the cherokee administrator by executing with root \/path-to-cherokee\/sbin\/cherokee-admin", "cherokee_828932ed3cdfef32f1513a9d2491d293": "Create a new virtual host by clicking on 'vServers', then add a new virtual server:", @@ -470,7 +472,7 @@ "controllers_281b6889c8920b0f05e770706f719a10": "Events in Controllers", "controllers_37e837df535716a756662358b9e8f390": "Controllers automatically act as listeners for :1: events, implementing methods with those event names allow you to implement hook points before\/after the actions are executed:", "cookies_2bc6eb5dcb5fc829123a7ef49f094b59": "Cookies Management", - "cookies_37ba613bc19059e2b198dd55b1d80cdc": ":2:are very useful way to store small pieces of data in the client that can be retrieved even if the user closes his\/her browser. :1: acts as a global bag for cookies. Cookies are stored in this bag during the request execution and are sent automatically at the end of the request.", + "cookies_37ba613bc19059e2b198dd55b1d80cdc": ":2: are very useful way to store small pieces of data in the client that can be retrieved even if the user closes his\/her browser. :1: acts as a global bag for cookies. Cookies are stored in this bag during the request execution and are sent automatically at the end of the request.", "cookies_b0320f4a950d93f7f09a91c29ce5132b": "Basic Usage", "cookies_81f9971fb3a1d23601430671ff54a629": "You can set\/get cookies by just accessing the 'cookies' service in any part of the application where services can be accessed:", "cookies_a912fae0257816ab039dfbb5b51b10e0": "Check if the cookie has previously set", @@ -481,7 +483,7 @@ "cookies_bfc7061d6ef54f180e58861b30542c31": "You can disable encryption in the following way:", "cookies_090e575523786a71d4c283962598e79c": "In case of using encryption a global key must be set in the 'crypt' service:", "crypt_f360a3a20fa1a3c3b28ba77a0a8d84be": "Encryption\/Decryption", - "crypt_61a86bea91a553c0ef46ff2d3ce32f88": "Phalcon provides encryption facilities via the :1: component. This class offers simple object-oriented wrappers to the :2:php's encryption library.", + "crypt_61a86bea91a553c0ef46ff2d3ce32f88": "Phalcon provides encryption facilities via the :1: component. This class offers simple object-oriented wrappers to the :2: php's encryption library.", "crypt_957df3c33bcabdc3862c027235e7ad7b": "By default, this component provides secure encryption using AES-256 (rijndael-256-cbc).", "crypt_b0320f4a950d93f7f09a91c29ce5132b": "Basic Usage", "crypt_3fa9f2edea33b150c507a3a7430d6b2e": "This component is designed to provide a very simple usage:", @@ -494,7 +496,7 @@ "crypt_74d36f46f78c5347bb7efc53be29b2dd": "Example:", "crypt_b6e3cbdc85ac9e9ac40e8eac65a8e9c6": "Use blowfish", "crypt_347c782d992d779c9a8704504648d478": "Base64 Support", - "crypt_8e9cfbbc7197e914936752480dcdb981": "In order that encryption is properly transmitted (emails) or displayed (browsers) :1:encoding is usually applied to encrypted texts:", + "crypt_8e9cfbbc7197e914936752480dcdb981": "In order that encryption is properly transmitted (emails) or displayed (browsers) :1: encoding is usually applied to encrypted texts:", "crypt_7f46562c8af18fea5e1b5163c2f327e4": "Setting up an Encryption service", "crypt_2c1201ff75b1d531fdb8dd633c1904cb": "You can set up the encryption component in the services container in order to use it from any part of the application:", "crypt_2281785d8b824849f017e6f3db8a07c8": "Set a global encryption key", @@ -503,7 +505,7 @@ "db_c56879b8ed347ed1ba9bd4090926fe2a": ":1: is the component behind :2: that powers the model layer in the framework. It consists of an independent high-level abstraction layer for database systems completely written in C.", "db_57a3a9bee3091b994011058761abea1e": "This component allows for a lower level database manipulation than using traditional models.", "db_16b634f6806e7bef1eb15a9c2d7e5fef": "Database Adapters", - "db_7152b235e4d2ec36da8551669390c6f5": "This component makes use of adapters to encapsulate specific database system details. Phalcon uses :1:to connect to databases. The following database engines are supported:", + "db_7152b235e4d2ec36da8551669390c6f5": "This component makes use of adapters to encapsulate specific database system details. Phalcon uses :1: to connect to databases. The following database engines are supported:", "db_206bd6266ccc781d8844f3db2de5d557": "Implementing your own adapters", "db_cd9e7a9ee60d9ba1a2514d90d735c5e2": "The :1: interface must be implemented in order to create your own database adapters or extend the existing ones.", "db_1c404351c1ded3af7104b1367eca2298": "Database Dialects", @@ -636,10 +638,10 @@ "debug_0a2715f107ac2b7b5c8c256d6a7384af": "Any instance of a Phalcon class offers exactly the same behavior than a PHP normal one. It's possible to use the :1: or simply print any object to show how is its internal state:", "debug_01a46a264a9d32cbe26455af4cb3f7db": "It's easy to know the internal state of any object. The above example prints the following:", "debug_73ed294323e5fd47b34d920d3ad4e48d": "Using XDebug", - "debug_6f164c8227eee5c2e705532bdeea1ab4": ":1:is an amazing tool that complements the debugging of PHP applications. It is also a C extension for PHP, and you can use it together with Phalcon without additional configuration or side effects.", + "debug_6f164c8227eee5c2e705532bdeea1ab4": ":1: is an amazing tool that complements the debugging of PHP applications. It is also a C extension for PHP, and you can use it together with Phalcon without additional configuration or side effects.", "debug_3178da61cc3ae187bf088906d7a25306": "The following screencast shows a Xdebug session with Phalcon:", "debug_ae74bd6270e7f30b07d3ee763d6ea7e9": "Once you have xdebug installed, you can use its API to get a more detailed information about exceptions and messages.", - "debug_0a9948cd276e0d53c835519557be16f9": "The following example implements xdebug_print_function_:1:to stop the execution and generate a backtrace", + "debug_0a9948cd276e0d53c835519557be16f9": "The following example implements xdebug_print_function_:1: to stop the execution and generate a backtrace", "debug_5075bcdc88feaddacaeb503556b2d272": "Request variables from html form", "debug_5bc40121d68374829702a4cae1d6561f": "Stop execution and show a backtrace", "debug_165a70665697d1966f0c513b23093766": "Store and check for errors", @@ -851,9 +853,9 @@ "dispatching_c5b1d51f30933dfd71e8f28646329bc7": "Bind the EventsManager to the dispatcher", "dispatching_91daa9dae5570715c7059d0efbf5c64c": "Of course, this method can be moved onto independent plugin classes, allowing more than one class take actions when an exception is produced in the dispatch loop:", "escaper_de8049e2b4f8854b235a1e7a22dfbaa2": "Contextual Escaping", - "escaper_4ac20f61e26bc5c1fb7aee9b14e2a6ca": "Websites and Web applications are vulnerable to :2:attacks, despite PHP provides escaping functionality, in some contexts those are not sufficient\/appropriate. :1: provides contextual escaping, this component is written in C providing the minimal overhead when escaping different kinds of texts.", + "escaper_4ac20f61e26bc5c1fb7aee9b14e2a6ca": "Websites and Web applications are vulnerable to :2: attacks, despite PHP provides escaping functionality, in some contexts those are not sufficient\/appropriate. :1: provides contextual escaping, this component is written in C providing the minimal overhead when escaping different kinds of texts.", "escaper_719863172fd23c83a6bbcb76c7e8894d": "We designed this component based on the :1: created by the :2:", - "escaper_08393e32d6104e8736ab5e0d3ee9aaea": "Additionally, this component relies on :1:to support almost any charset.", + "escaper_08393e32d6104e8736ab5e0d3ee9aaea": "Additionally, this component relies on :1: to support almost any charset.", "escaper_728347a820344a7ff74bc9b0ae25e678": "To illustrate how this component works and why it is important, consider the following example:", "escaper_fb033002084e4fb9302c7210a668ad3a": "Document title with malicious extra HTML tags", "escaper_cf6109a346c45d45b177223d0df2bc6f": "Malicious CSS class name", @@ -1057,9 +1059,9 @@ "install_23a4a0eeaa8c65b1110e8da55a261fe4": "Installation Notes", "install_4c62f4f5d780cac9af64cb12a7120d75": "Installation notes for Web Servers:", "intl_85d2bc52cf53e27ca20645a9431c6930": "Internationalization", - "intl_92aaa680cf30691651a1f728f7bbd0b1": "Phalcon is written in C as an extension for PHP. There is a :2:extension that offers internationalization functions to PHP applications called intl_. Starting from PHP 5.4\/5.5 this extension is bundled with PHP. Its documentation can be found in the pages of the official :1:.", + "intl_92aaa680cf30691651a1f728f7bbd0b1": "Phalcon is written in C as an extension for PHP. There is a :2: extension that offers internationalization functions to PHP applications called intl_. Starting from PHP 5.4\/5.5 this extension is bundled with PHP. Its documentation can be found in the pages of the official :1:.", "intl_7225af6a7690ce43b3f118bf9235a8fa": "Phalcon does not offer this functionality, since creating such a component would be replicating existing code.", - "intl_16faf9a6a387d16c7e9f1b7114966512": "In the examples below, we will show you how to implement the :1:extension's functionality into Phalcon powered applications.", + "intl_16faf9a6a387d16c7e9f1b7114966512": "In the examples below, we will show you how to implement the :1: extension's functionality into Phalcon powered applications.", "intl_41d225fcbd85a9a62195821945d72707": "Find out best available Locale", "intl_f05a8fa309000dd32507bbfee2a385f3": "There are several ways to find out the best available locale using intl_. One of them is to check the HTTP \"Accept-Language\" header:", "intl_234654f0f0e9e33d203000dca2a8cd2a": "Locale could be something like \"en_GB\" or \"en\"", @@ -1068,7 +1070,7 @@ "intl_a34d117f6f785267c5b36c263ce85dd6": "zh-Hant-TW (Chinese, Traditional Script, Taiwan)", "intl_fa9dbc673366df814c56b98f19c55fd0": "fr-CA, fr-FR (French for Canada and France respectively)", "intl_5fcd413e9e2e372297f489fe24dbdce6": "Formatting messages based on Locale", - "intl_2a2dc5fcf450c50a14b465a81d95b046": "Part of creating a localized application is to produce concatenated, language-neutral messages. The :1:allows for the production of those messages.", + "intl_2a2dc5fcf450c50a14b465a81d95b046": "Part of creating a localized application is to produce concatenated, language-neutral messages. The :1: allows for the production of those messages.", "intl_178d127c9218637e406a7ca6e727d84d": "Printing numbers formatted based on some locale:", "intl_74788676640cf24873a5d31e48003c5d": "Prints \u20ac 4 560", "intl_408b4ce049aa9e37589305879ea666fc": "Prints USD$ 4,560.5", @@ -1078,12 +1080,12 @@ "intl_461394b52a6120d8388b7b12bf86e854": "Prints \"At 3:50:31 PM on Apr 19, 2012, there was a disturbance on planet 7.\"", "intl_01f6129f2b84e7ac8c111e93980535be": "Prints \"\u00c0 15:53:01 le 19 avr. 2012, il y avait une perturbation sur la plan\u00e8te 7.\"", "intl_e68e6468f5553c619b4754175b53776d": "Locale-Sensitive comparison", - "intl_1b21ef2fc5095722b554a3e0ffa70435": "The :1:class provides string comparison capability with support for appropriate locale-sensitive sort orderings. Check the examples below on the usage of this class:", + "intl_1b21ef2fc5095722b554a3e0ffa70435": "The :1: class provides string comparison capability with support for appropriate locale-sensitive sort orderings. Check the examples below on the usage of this class:", "intl_94a3195d410f44f5b576523a8764398d": "Create a collator using Spanish locale", "intl_774f2564a457cd5a559a81260a86c650": "Returns that the strings are equal, in spite of the emphasis on the \"o\"", "intl_594eac9635771cadbc71967a3d5e6ec5": "Returns that the strings are not equal", "intl_86b69a9604c947e11ebd5d3a7ea33966": "Transliteration", - "intl_7b5214c4dcab9dad7ea131785b8b50f9": ":1:provides transliteration of strings:", + "intl_7b5214c4dcab9dad7ea131785b8b50f9": ":1: provides transliteration of strings:", "license_debf68da9d3b0d345c9b16cae2e32a25": "License", "license_a46265b0d94ec8e45c0cf3e8131cbe46": "Phalcon is brought to you by the Phalcon Team! [:1: - :2: - :3:]", "license_8cd2365e265d8c28129c81474bffdf8e": "The Phalcon PHP Framework is released under the :1:. Except where otherwise noted, content on this site is licensed under the :2:.", @@ -1093,7 +1095,7 @@ "linuxtools_17da86073980dfe20dfa8c157c811998": "Prerequisites", "linuxtools_3912e149b2c9d2a44404800fe8b905b4": "The Phalcon PHP extension is required to run Phalcon Tools. If you haven't installed it yet, please see the :1: section for instructions.", "linuxtools_d779ffb4113a9aa6902414524b888ae6": "Download", - "linuxtools_c52ad3c8bfdd468181a9d135893b6e99": "You can download a cross platform package containing the developer tools from the :1:section. Also you can clone it from Github_.", + "linuxtools_c52ad3c8bfdd468181a9d135893b6e99": "You can download a cross platform package containing the developer tools from the :1: section. Also you can clone it from Github_.", "linuxtools_ff61f633242e4eefebcf5c44b9321c61": "Open a terminal and type the commands below:", "linuxtools_5f71013ef5ca1f063a80b134b12c16a7": "Then enter the folder where the tools were cloned and execute \". .\/phalcon.sh\", (don't forget the dot at beginning of the command):", "linuxtools_01e9aefb62a0345d027bcb8b02bbe10e": "Congratulations you now have Phalcon tools installed!", @@ -1147,7 +1149,7 @@ "loader_1a3657a13f35fe1e1963850259869e36": "Some things to keep in mind when using the universal autoloader:", "loader_d4f107b682e4b15db5380eb0c2a050b5": "Auto-loading process is case-sensitive, the class will be loaded as it is written in the code", "loader_4c54cf1f5e17f7dd643543f0113c3c84": "Strategies based on namespaces\/prefixes are faster than the directories strategy", - "loader_c7f535c50766c55c428ef4bd2a5b595c": "If a cache bytecode like :1:is installed this will used to retrieve the requested file (an implicit caching of the file is performed)", + "loader_c7f535c50766c55c428ef4bd2a5b595c": "If a cache bytecode like :1: is installed this will used to retrieve the requested file (an implicit caching of the file is performed)", "logging_e1e77dd383c1258dad2a6817a1c6fc23": "Logging", "logging_41974eb84205cc83111b0fdc785027b5": ":1: is a component whose purpose is to provide logging services for applications. It offers logging to different backends using different adapters. It also offers transaction logging, configuration options, different formats and filters. You can use the :1: for every logging need your application has, from debugging processes to tracing application flow.", "logging_59016d3191a4f3dbf5870903d350a278": "Adapters", @@ -1702,7 +1704,7 @@ "models_3127822a2aeb877c75788660804e7791": "if the method is 'getSlug' convert the title", "models_0e6c82a5255904cf8a06e50df659fee6": "Call that method on a model that implements Sluggable returns a SEO friendly title:", "models_86902028f578be3733203f273cf005f9": "Using Traits as behaviors", - "models_15225e9a2356f6a977351d29714d8c55": "Starting from PHP 5.4 you can use :1:to re-use code in your classes, this is another way to implement custom behaviors. The following trait implements a simple version of the Timestampable behavior:", + "models_15225e9a2356f6a977351d29714d8c55": "Starting from PHP 5.4 you can use :1: to re-use code in your classes, this is another way to implement custom behaviors. The following trait implements a simple version of the Timestampable behavior:", "models_a2114c4340289628297fd7fe404775e0": "Then you can use it in your model as follows:", "models_70f40070204552b5f24220685f1af1d5": "Transactions", "models_523caad38dca5a70a0f0df8adfa5392b": "When a process performs multiple database operations, it is often that each step is completed successfully so that data integrity can be maintained. Transactions offer the ability to ensure that all database operations have been executed successfully before the data are committed to the database.", @@ -1871,7 +1873,7 @@ "mvc_ab4eaca614bb9a4a5b676917c9924aeb": "MVC benefits include:", "mvc_763188904d3da3b65e8daa7b30ccd710": "Isolation of business logic from the user interface and the database layer", "mvc_1a753292925dd5471f423520fcb43aa0": "Making it clear where different types of code belong for easier maintenance", - "mvc_8762dff10e7e0030292723f2be7af463": "If you decide to use MVC, every request to your application resources will be managed by the :1:architecture. Phalcon classes are written in C language, offering a high performance approach of this pattern in a PHP based application.", + "mvc_8762dff10e7e0030292723f2be7af463": "If you decide to use MVC, every request to your application resources will be managed by the :1: architecture. Phalcon classes are written in C language, offering a high performance approach of this pattern in a PHP based application.", "mvc_927b1c3f8d9b894ec7be4c9139fd1501": "Models", "mvc_740eecca4eaf8027cc318a76084871fd": "A model represents the information (data) of the application and the rules to manipulate that data. Models are primarily used for managing the rules of interaction with a corresponding database table. In most cases, each table in your database will correspond to one model in your application. The bulk of your application's business logic will be concentrated in the models. :1:", "mvc_6dd3305031fd2571d16b707ed91ccb13": "Views", @@ -1879,7 +1881,7 @@ "mvc_50f1458a9054f560cf1f8a37014e7aa6": "Controllers", "mvc_6dd7586e22b50745e01d428f140fc9b6": "The controllers provide the \"flow\" between models and views. Controllers are responsible for processing the incoming requests from the web browser, interrogating the models for data, and passing that data on to the views for presentation. :1:", "namespaces_410df5ec08cfd7e81928a0f39812fa26": "Working with Namespaces", - "namespaces_42fcdb4e0d8452859da49e9a5808053e": ":1:can be used to avoid class name collisions; this means that if you have two controllers in an application with the same name, a namespace can be used to differentiate them. Namespaces are also useful for creating bundles or modules.", + "namespaces_42fcdb4e0d8452859da49e9a5808053e": ":1: can be used to avoid class name collisions; this means that if you have two controllers in an application with the same name, a namespace can be used to differentiate them. Namespaces are also useful for creating bundles or modules.", "namespaces_5034b5fe11096b4eeb1043135044bc64": "Setting up the framework", "namespaces_6d2109c5d5dd2e689723029517e3f6f8": "Using namespaces has some implications when loading the appropriate controller. To adjust the framework behavior to namespaces is necessary to perform one or all of the following tasks:", "namespaces_7675ee208c8bd2dc92bde0fa3f1b5d1f": "Use an autoload strategy that takes into account the namespaces, for example with Phalcon\\\\Loader:", @@ -1894,8 +1896,8 @@ "namespaces_f272cbbd53cdcd2e714c5918e8c811ce": "If models have relationships they must include the namespace too:", "namespaces_1047b252842d7d62176454c6c8b8f677": "In PHQL you must write the statements including namespaces:", "nginx_6bb6d356501587cdcc495f1a8fa2073f": "Nginx Installation Notes", - "nginx_703537526a0c2eb0802d1c8091f2648b": ":1:is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP\/POP3 proxy server. Unlike traditional servers, :1:doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load.", - "nginx_3a6a1339cfce179e86b462fdf346efd0": "The :1: (FastCGI Process Manager) is usually used to allow :4:to process PHP files. Nowadays, :1: is bundled with any Unix PHP distribution. Phalcon + :4:+ :1: provides a powerful set of tools that offer maximum performance for your PHP applications.", + "nginx_703537526a0c2eb0802d1c8091f2648b": ":1: is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP\/POP3 proxy server. Unlike traditional servers, :1: doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load.", + "nginx_3a6a1339cfce179e86b462fdf346efd0": "The :1: (FastCGI Process Manager) is usually used to allow :4: to process PHP files. Nowadays, :1: is bundled with any Unix PHP distribution. Phalcon + :4: + :1: provides a powerful set of tools that offer maximum performance for your PHP applications.", "nginx_78202a14fc06eb13905c98df74daefea": "Configuring Nginx for Phalcon", "nginx_7f7917062f284058784dc2cb1844fe2f": "The following are potential configurations you can use to setup nginx with Phalcon:", "nginx_839322a0f1a181663d7634673806c4a0": "Basic configuration", @@ -1942,7 +1944,7 @@ "odm_a7f6efdf628627cbfb0183f461cfcd29": "Creating Updating\/Records", "odm_3b001039ec2a5a2213110c9fac9e57a5": "The method Phalcon\\\\Mvc\\\\Collection::save() allows you to create\/update documents according to whether they already exist in the collection associated with a model. The 'save' method is called internally by the create and update methods of :1:.", "odm_3985ac741064a84b198fbfb559b38e0a": "Also the method executes associated validators and events that are defined in the model:", - "odm_e27841ee99e14fc6519e0db9d17c2333": "The \"_id\" property is automatically updated with the :1:object created by the driver:", + "odm_e27841ee99e14fc6519e0db9d17c2333": "The \"_id\" property is automatically updated with the :1: object created by the driver:", "odm_39d425478bbbd8c190c1571d56968719": "Validation Messages", "odm_6f54fffd794d508feef234f7f943ce91": ":1: has a messaging subsystem that provides a flexible way to output or store the validation messages generated during the insert\/update processes.", "odm_7c9973d06444177ad84e1c25a39a6b63": "Each message consists of an instance of the class :1:. The set of messages generated can be retrieved with the method getMessages(). Each message provides extended information like the field name that generated the message or the message type:", @@ -2367,14 +2369,14 @@ "security_c517b7bfa84e40c992a4c1cfa12d83a8": "We saved the password hashed with a default work factor. A higher work factor will make the password less vulnerable as its encryption will be slow. We can check if the password is correct as follows:", "security_d6c5533d83067194760edb4307f97b3d": "The password is valid", "security_7f3aba84d7bd4d1a7655091b43a9cda6": "The validation has failed", - "security_bd4619c4495c0a9ae0993f0c89a3a4ee": "The salt is generated using pseudo-random bytes with the PHP's function openssl_random_pseudo_:1:so is required to have the :2:extension loaded.", + "security_bd4619c4495c0a9ae0993f0c89a3a4ee": "The salt is generated using pseudo-random bytes with the PHP's function openssl_random_pseudo_:1: so is required to have the :2: extension loaded.", "security_e7b1ff65893c115cca3b6108c16ccc9c": "Cross-Site Request Forgery (CSRF) protection", "security_d22af5e2a1eeba75c4b48781faf0085d": "This is another common attack against web sites and applications. Forms designed to perform tasks such as user registration or adding comments are vulnerable to this attack.", "security_b7e8084b42539d7c45ad1acb575cf3ef": "The idea is to prevent the form values from being sent outside our application. To fix this, we generate a :1: (token) in each form, add the token in the session and then validate the token once the form posts data back to our application by comparing the stored token in the session to the one submitted by the form:", "security_8217074a00f1ee08b580e160acd002b9": "Then in the controller's action you can check if the CSRF token is valid:", "security_d18843843677d4214d39430e547164b0": "The token is ok", "security_a9096615e5d0b316628d6d46d809dc17": "Remember to add a session adapter to your Dependency Injector, otherwise the token check won't work:", - "security_d389e6c51ec7250e99f9bd4004f0e8d4": "Adding a :1:to the form is also recommended to completely avoid the risks of this attack.", + "security_d389e6c51ec7250e99f9bd4004f0e8d4": "Adding a :1: to the form is also recommended to completely avoid the risks of this attack.", "security_09fcbfa5b4310f13bfd02a2a7730defa": "Setting up the component", "security_9457196fa73d45bf471dcfe6ab181165": "This component is automatically registered in the services container as 'security', you can re-register it to setup it's options:", "security_655fb53228f3035a6214d0c03ff391f7": "Set the password hashing factor to 12 rounds", @@ -2651,7 +2653,7 @@ "tutorial-invo_3298ad06f43c0854b544871881d467fb": "As controllers, plugins or components within a view, this component also has access to the services registered in the container and by just accessing an attribute with the same name as a previously registered service:", "tutorial-invo_f6fceb057eb0510f64c434de3c040a62": "The important part is:", "tutorial-invo_d6159fee9dcdb02f83a84e5963335e0c": "Working with the CRUD", - "tutorial-invo_9ee5803894783396314a436a4cb0106a": "Most options that manipulate data (companies, products and types of products), were developed using a basic and common :1:(Create, Read, Update and Delete). Each CRUD contains the following files:", + "tutorial-invo_9ee5803894783396314a436a4cb0106a": "Most options that manipulate data (companies, products and types of products), were developed using a basic and common :1: (Create, Read, Update and Delete). Each CRUD contains the following files:", "tutorial-invo_4acb74ee1cce36f3fbebc37e5621a553": "Each controller has the following actions:", "tutorial-invo_004196ab227c39c85765e52a45bbe66e": "The Search Form", "tutorial-invo_5227de8e3efb5114e3fc9a1d26df81bd": "Every CRUD starts with a search form. This form shows each field that has the table (products), allowing the user creating a search criteria from any field. Table \"products\" has a relationship to the table \"products_types\". In this case, we previously queried the records in this table in order to facilitate the search by that field:", @@ -2695,7 +2697,7 @@ "tutorial-invo_ee50f1d496b9cd00d5955f10f6dc7517": "Conclusion", "tutorial-invo_2e7acbb8a1808a4356beef6e2c853ba9": "This tutorial covers many more aspects of building applications with Phalcon, hope you have served to learn more and get more out of the framework.", "tutorial-rest_84d6814c39aad10b26d97af056279a18": "Tutorial 3: Creating a Simple REST API", - "tutorial-rest_26bb72e995bd5df1986ace55a4facb04": "In this tutorial, we will explain how to create a simple application that provides a :1:API using the different HTTP methods:", + "tutorial-rest_26bb72e995bd5df1986ace55a4facb04": "In this tutorial, we will explain how to create a simple application that provides a :1: API using the different HTTP methods:", "tutorial-rest_0cc1ad4752268f38af4100ec4035489e": "GET to retrieve and search data", "tutorial-rest_32bd0860278777ce2a7da547d6560eb7": "POST to add data", "tutorial-rest_fa32eb46b48d58290bc042872eafd930": "PUT to update data", @@ -2743,7 +2745,7 @@ "tutorial-rest_12f49100cf21592b1bed0daa5b42bcd9": "Deleting Data", "tutorial-rest_a22e0afc3c116152d64bb2ffd8f8e2be": "The data delete is similar to update. The \"id\" passed as parameter indicates what robot must be deleted:", "tutorial-rest_51eee60ebdb66fb5770c4b406440fa69": "Testing our Application", - "tutorial-rest_a444b76b57459a80926fdb40855d43a2": "Using :1:we'll test every route in our application verifying its proper operation:", + "tutorial-rest_a444b76b57459a80926fdb40855d43a2": "Using :1: we'll test every route in our application verifying its proper operation:", "tutorial-rest_3d2d6a49b68a620826b98699fcf385c7": "Obtain all the robots:", "tutorial-rest_41285e4a0ec6a25351e2d5edc06f7314": "localhost\/my-rest-api\/api\/robots", "tutorial-rest_bf489f2e18b48c2f62bc412fafde1f6e": "Search a robot by its name:", @@ -2991,7 +2993,7 @@ "views_3f06ec587eeeb185b749837fa4e46e18": "Cache this view for 1 hour", "views_78ca43a465c9e94695d57562ffb8c505": "Cache this view for 1 day with the key \"resume-cache\"", "views_38213376f90ef4d88c04f2ac0c0edc5f": "Passing a custom service", - "views_f090ddab8a4c1433924b1b348ef399d1": "When we do not define a key to the cache, the component automatically creates one doing a :1:to view name is currently rendered. It is a good practice to define a key for each action so you can easily identify the cache associated with each view.", + "views_f090ddab8a4c1433924b1b348ef399d1": "When we do not define a key to the cache, the component automatically creates one doing a :1: to view name is currently rendered. It is a good practice to define a key for each action so you can easily identify the cache associated with each view.", "views_f888bb1a09ced9103b2fa1bf171f4eeb": "When the View component needs to cache something it will request a cache service to the services container. The service name convention for this service is \"viewCache\":", "views_fa2501fd9d459e571d983c8ef7bb5457": "Set the views cache service", "views_83b746e3e149c65f5d387ee018ce18e1": "Cache data for one day by default", @@ -3201,7 +3203,7 @@ "volt_338b014c4308d54539cc4e6127038193": ":1:, is another sample application that use Volt, [:2:]", "volt_b0492394b589b5ff8f6fb98048d65d8f": "External Resources", "wamp_1208e8179d40b713ec2bce3fb6d73c1b": "Installation on WAMP", - "wamp_8d8b360f75ee6ffa84653d9c0858587e": ":1:is a Windows web development environment. It allows you to create web applications with Apache2, PHP and a MySQL database. Below are detailed instructions on how to install Phalcon on WampServer for Windows. Using the latest WampServer version is highly recommended.", + "wamp_8d8b360f75ee6ffa84653d9c0858587e": ":1: is a Windows web development environment. It allows you to create web applications with Apache2, PHP and a MySQL database. Below are detailed instructions on how to install Phalcon on WampServer for Windows. Using the latest WampServer version is highly recommended.", "wamp_6781878c32a5dee1aeaf59c8ed79e10a": "Download the right version of Phalcon", "wamp_369c94d451e2358319ed269801f4e5ed": "WAMP has both 32 and 64 bit versions. From the download section, you can choose the Phalcon for Windows accordingly to your desired architecture.", "wamp_ead744fad813be334172e04c70d09491": "After download the Phalcon library you will have a zip file like the one shown below:", @@ -3218,10 +3220,10 @@ "whats-next_8a5e5cd07086bfd5256478af76a0c9db": "Profile on the Server", "whats-next_d499955109185531dee06e38e6371a79": "Each application is different, the permanent profiling is important to understand where performance can be increased. Profiling gives us a real picture on what is really slow and what does not. Profiles can vary between a request and another, so it is important to make enough measurements to make conclusions.", "whats-next_5116de9f40ec1c3dd8aafed76c961ba3": "Profiling with XDebug", - "whats-next_a4925be86d5b8f4d2809c47a6564e026": ":1:provides an easier way to profile PHP applications, just install the extension and enable profiling in the php.ini:", - "whats-next_b38d10ababd4d8fc1f2ab1d270538b5b": "Using a tool like :1:you can see which functions\/methods are slower than others:", + "whats-next_a4925be86d5b8f4d2809c47a6564e026": ":1: provides an easier way to profile PHP applications, just install the extension and enable profiling in the php.ini:", + "whats-next_b38d10ababd4d8fc1f2ab1d270538b5b": "Using a tool like :1: you can see which functions\/methods are slower than others:", "whats-next_244719d3a37013227a2f4f2e69954e66": "Profiling with Xhprof", - "whats-next_988fb6562d947f8da0ae75c1501d0da5": ":1:is another interesting extension to profile PHP applications. Add the following line to the start of the bootstrap file:", + "whats-next_988fb6562d947f8da0ae75c1501d0da5": ":1: is another interesting extension to profile PHP applications. Add the following line to the start of the bootstrap file:", "whats-next_c3f35ed9003d3e458d7c35470f58797a": "Then at the end of the file save the profiled data:", "whats-next_efb07d608d7b87bc1a001af0d1f8a864": "Xhprof provides a built-in html viewer to analize the profiled data:", "whats-next_f7dc7675831e283edd54b6e7e3501a7e": "Profiling SQL Statements", @@ -3230,27 +3232,27 @@ "whats-next_05c5af5d5d4afd8b0aebc3b4a61088ae": "Sometimes we may need to improve the loading of static elements such as images, javascript and css to improve performance. The following tools are useful to detect common bottlenecks in the client side:", "whats-next_22c0f83c8d1e0acedd8bee94e7cf349e": "Profile with Chrome\/Firefox", "whats-next_5540d6acf4174d7778e0a7afe8769dc7": "Most modern browsers have tools to profile the page loading time. In Chrome you can use the web inspector to know how much time is taking the loading of the different resources required by a single page:", - "whats-next_7d06b0c1d56eb8a4de4749e396711d85": ":1:provides a similar functionality:", + "whats-next_7d06b0c1d56eb8a4de4749e396711d85": ":1: provides a similar functionality:", "whats-next_2bff9cea84721eb4139848329ad036c8": "Yahoo! YSlow", - "whats-next_2ea565e1bb92397ce43e91584ab8d34f": ":2:analyzes web pages and suggests ways to improve their performance based on a set of :1:", + "whats-next_2ea565e1bb92397ce43e91584ab8d34f": ":2: analyzes web pages and suggests ways to improve their performance based on a set of :1:", "whats-next_22ac3220308de49b56b20e639030771d": "Profile with Speed Tracer", "whats-next_d4b0ef7b36a7cbef8cc66960f6955e4a": ":1: is a tool to help you identify and fix performance problems in your web applications. It visualizes metrics that are taken from low level instrumentation points inside of the browser and analyzes them as your application runs. Speed Tracer is available as a Chrome extension and works on all platforms where extensions are currently supported (Windows and Linux).", "whats-next_c8aefabe5f595f5a833712a524f40565": "This tool is very useful because it help you to get the real time used to render the whole page including HTML parsing, Javascript evaluation and CSS styling.", "whats-next_0e3f773cfbd4657074ab27048bbb56a8": "Use a recent PHP version", "whats-next_995f284bdefafa3803b23d0f65e6dcfb": "PHP is faster every day, using the latest version improves the performance of your applications and also of Phalcon.", "whats-next_d06ae3ababdb7f62581c61f473410f6b": "Use a PHP Bytecode Cache", - "whats-next_be4aca0e28427136d4df0db25c8b4068": ":1:as many other bytecode caches help an application to reduce the overhead of read, tokenize and parse PHP files in each request. Once the extension is installed use the following setting to enable APC:", + "whats-next_be4aca0e28427136d4df0db25c8b4068": ":1: as many other bytecode caches help an application to reduce the overhead of read, tokenize and parse PHP files in each request. Once the extension is installed use the following setting to enable APC:", "whats-next_9bdd7f9dc4aee583ebe2cf085ba01f30": "PHP 5.5 includes a built-in bytecode cache called ZendOptimizer+, this extension is also available for 5.3 and 5.4.", "whats-next_8f9d9970427920451acf7c4983e22144": "Do blocking work in the background", "whats-next_236c23116970492ef2f675241540f17b": "Process a video, send e-mails, compress a file or an image, etc., are slow tasks that must be processed in background jobs. There are a variety of tools that provide queuing or messaging systems that work well with PHP:", "whats-next_31bc881424156d5e7144482cfb01c98f": "Google Page Speed", - "whats-next_c5b991040c0cf0ab6cc0b5a08a9523a6": "mod_:1:speeds up your site and reduces page load time. This open-source Apache HTTP server module (also available for nginx as ngx_pagespeed) automatically applies web performance best practices to pages, and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow.", + "whats-next_c5b991040c0cf0ab6cc0b5a08a9523a6": "mod_:1: speeds up your site and reduces page load time. This open-source Apache HTTP server module (also available for nginx as ngx_pagespeed) automatically applies web performance best practices to pages, and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow.", "wintools_0d131205dc57ccc6fefd8a1eb760f6fc": "Phalcon Developer Tools on Windows", "wintools_eb7803f63ed5a54d112edb052012885b": "These steps will guide you through the process of installing Phalcon Developer Tools for Windows.", "wintools_17da86073980dfe20dfa8c157c811998": "Prerequisites", "wintools_3912e149b2c9d2a44404800fe8b905b4": "The Phalcon PHP extension is required to run Phalcon Tools. If you haven't installed it yet, please see the :1: section for instructions.", "wintools_d779ffb4113a9aa6902414524b888ae6": "Download", - "wintools_c52ad3c8bfdd468181a9d135893b6e99": "You can download a cross platform package containing the developer tools from the :1:section. Also you can clone it from Github_.", + "wintools_c52ad3c8bfdd468181a9d135893b6e99": "You can download a cross platform package containing the developer tools from the :1: section. Also you can clone it from Github_.", "wintools_aed7061f88087f5534673e4af65a7e82": "On the Windows platform, you need to configure the system PATH to include Phalcon tools as well as the PHP executable. If you download the Phalcon tools as a zip archive, extract it on any path of your local drive i.e. *c:\\\\phalcon-tools*. You will need this path in the steps below. Edit the file \"phalcon.bat\" by right clicking on the file and selecting \"Edit\":", "wintools_a836c33da29aab779ed188ecead8ce4b": "Change the path to the one you installed the Phalcon tools:", "wintools_8acd47a705de08d71975b1b011205192": "Save the changes.", @@ -3266,7 +3268,7 @@ "wintools_01e9aefb62a0345d027bcb8b02bbe10e": "Congratulations you now have Phalcon tools installed!", "wintools_7a752ac7821139893d4b7d8eb762a483": "Related Guides", "xampp_eda682d3225054770e1557c5c7db9bfd": "Installation on XAMPP", - "xampp_b70a128300864dd3dae3f396b5ace740": ":1:is an easy to install Apache distribution containing MySQL, PHP and Perl. Once you download XAMPP, all you have to do is extract it and start using it. Below are detailed instructions on how to install Phalcon on XAMPP for Windows. Using the latest XAMPP version is highly recommended.", + "xampp_b70a128300864dd3dae3f396b5ace740": ":1: is an easy to install Apache distribution containing MySQL, PHP and Perl. Once you download XAMPP, all you have to do is extract it and start using it. Below are detailed instructions on how to install Phalcon on XAMPP for Windows. Using the latest XAMPP version is highly recommended.", "xampp_6781878c32a5dee1aeaf59c8ed79e10a": "Download the right version of Phalcon", "xampp_8f4354ffc1e1b700a2f48b5f5056eb1d": "XAMPP is always releasing 32 bit versions of Apache and PHP. You will need to download the x86 version of Phalcon for Windows from the download section.", "xampp_7d83479b3d39a89f33cc156cc88f273b": "After downloading the Phalcon library you will have a zip file like the one shown below:",