Skip to content

Commit

Permalink
version 2.4.5
Browse files Browse the repository at this point in the history
  • Loading branch information
christopheexakat committed Jul 6, 2022
1 parent 9bc34f2 commit d52d367
Show file tree
Hide file tree
Showing 11 changed files with 942 additions and 475 deletions.
15 changes: 1 addition & 14 deletions Annex.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ List of external links mentioned in this documentation.
* `cat: write error: Broken pipe <https://askubuntu.com/questions/421663/cat-write-error-broken-pipe>`_
* `Change the precedence of the concatenation operator <https://wiki.php.net/rfc/concatenation_precedence>`_
* `Changes to variable handling <https://www.php.net/manual/en/migration70.incompatible.php>`_
* `Class Abstraction <https://www.php.net/abstract>`_
* `Class Constant <https://www.php.net/manual/en/language.oop5.constants.php>`_
* `Classes Abstraction <https://www.php.net/abstract>`_
* `Closure class <https://www.php.net/closure>`_
Expand All @@ -106,7 +105,6 @@ List of external links mentioned in this documentation.
* `Deprecated features in PHP 7.2.x <https://www.php.net/manual/en/migration72.deprecated.php>`_
* `Deprecations for PHP 7.2 <https://wiki.php.net/rfc/deprecations_php_7_2>`_
* `DIO <https://www.php.net/manual/en/refs.fileprocess.file.php>`_
* `Dir predefined constants <https://www.php.net/manual/en/dir.constants.php>`_
* `directive error_reporting <https://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting>`_
* `dl <http://www.php.net/dl>`_
* `Docker <http://www.docker.com/>`_
Expand Down Expand Up @@ -137,7 +135,6 @@ List of external links mentioned in this documentation.
* `FAM <http://oss.sgi.com/projects/fam/>`_
* `FastCGI Process Manager <https://www.php.net/fpm>`_
* `filesystem <http://www.php.net/manual/en/book.filesystem.php>`_
* `Final Keyword <https://www.php.net/manual/en/language.oop5.final.php>`_
* `Firebase / Interbase <https://www.php.net/manual/en/book.ibase.php>`_
* `Floating point numbers <https://www.php.net/manual/en/language.types.float.php#language.types.float>`_
* `foreach <https://www.php.net/manual/en/control-structures.foreach.php>`_
Expand Down Expand Up @@ -167,8 +164,6 @@ List of external links mentioned in this documentation.
* `IMAP <http://www.php.net/imap>`_
* `include_once <https://www.php.net/manual/en/function.include-once.php>`_
* `Installing Exakat to monitor several projects <https://www.exakat.io/installing-exakat-to-monitor-several-projects/>`_
* `Integers <https://www.php.net/manual/en/language.types.integer.php>`_
* `Interfaces <https://www.php.net/manual/en/language.oop5.interfaces.php>`_
* `Internal Constructor Behavior <https://wiki.php.net/rfc/internal_constructor_behaviour>`_
* `Is it a bad practice to have multiple classes in the same file? <https://stackoverflow.com/questions/360643/is-it-a-bad-practice-to-have-multiple-classes-in-the-same-file>`_
* `Isset Ternary <https://wiki.php.net/rfc/isset_ternary>`_
Expand All @@ -186,15 +181,13 @@ List of external links mentioned in this documentation.
* `Logical Operators <https://www.php.net/manual/en/language.operators.logical.php>`_
* `Loosening Reserved Word Restrictions <https://www.php.net/manual/en/migration70.other-changes.php#migration70.other-changes.loosening-reserved-words>`_
* `Magic Constants <https://www.php.net/manual/en/language.constants.predefined.php>`_
* `Magic Method <https://www.php.net/manual/en/language.oop5.magic.php>`_
* `Magic Methods <https://www.php.net/manual/en/language.oop5.magic.php>`_
* `Magic methods <https://www.php.net/manual/en/language.oop5.magic.php>`_
* `mail <https://www.php.net/mail>`_
* `Mail related functions <http://www.php.net/manual/en/book.mail.php>`_
* `Marco Pivetta tweet <https://twitter.com/Ocramius/status/811504929357660160>`_
* `Mathematical Functions <https://www.php.net/manual/en/book.math.php>`_
* `mcrypt_create_iv() <https://www.php.net/manual/en/function.mcrypt-create-iv.php>`_
* `MD5 <https://www.php.net/md5>`_
* `Memcache on PHP <http://www.php.net/manual/en/book.memcache.php>`_
* `mercurial <https://www.mercurial-scm.org/>`_
* `mhash <http://mhash.sourceforge.net/>`_
Expand All @@ -205,12 +198,9 @@ List of external links mentioned in this documentation.
* `MongoDB driver <https://www.php.net/mongo>`_
* `mysqli <https://www.php.net/manual/en/book.mysqli.php>`_
* `Ncurses Terminal Screen Control <https://www.php.net/manual/en/book.ncurses.php>`_
* `Nested Ternaries are Great <https://medium.com/javascript-scene/nested-ternaries-are-great-361bddd0f340>`_
* `Net SNMP <http://www.net-snmp.org/>`_
* `New custom object serialization mechanism <https://wiki.php.net/rfc/custom_object_serialization>`_
* `Newt <http://people.redhat.com/rjones/ocaml-newt/html/Newt.html>`_
* `No Dangling Reference <https://github.com/dseguy/clearPHP/blob/master/rules/no-dangling-reference.md>`_
* `Object Calisthenics, rule # 5 <http://williamdurand.fr/2013/06/03/object-calisthenics/#one-dot-per-line>`_
* `Object Inheritance <https://www.php.net/manual/en/language.oop5.inheritance.php>`_
* `Objects and references <https://www.php.net/manual/en/language.oop5.references.php>`_
* `OPcache functions <http://www.php.net/manual/en/book.opcache.php>`_
Expand Down Expand Up @@ -272,15 +262,14 @@ List of external links mentioned in this documentation.
* `Salted Password Hashing - Doing it Right <https://crackstation.net/hashing-security.htm>`_
* `Scope Resolution Operator (::) <https://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php>`_
* `Semaphore, Shared Memory and IPC <https://www.php.net/manual/en/book.sem.php>`_
* `Sessions <https://www.php.net/manual/en/book.session.php>`_
* `Set-Cookie <https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie>`_
* `setlocale <https://www.php.net/setlocale>`_
* `shell_exec <http://www.php.net/shell_exec>`_
* `Show of hands: which syntax would you prefer in a PHP function - A, B or C? <https://twitter.com/exakat/status/1542585298562998274>`_
* `Specification pattern <https://en.wikipedia.org/wiki/Specification_pattern>`_
* `Sphinx Client <https://www.php.net/manual/en/book.sphinx.php>`_
* `sqlite3 <http://www.php.net/sqlite3>`_
* `Static Keyword <https://www.php.net/manual/en/language.oop5.static.php>`_
* `String access and modification by character <https://www.php.net/manual/en/language.types.string.php#language.types.string.substr>`_
* `String functions <https://www.php.net/manual/en/ref.strings.php>`_
* `strip_tags <https://www.php.net/manual/en/function.strip-tags.php>`_
* `strtr <http://www.php.net/strtr>`_
Expand All @@ -294,7 +283,6 @@ List of external links mentioned in this documentation.
* `The main PPA for PHP (8.0, 7.4, 7.3, 7.2, 7.1, 7.0, 5.6) <https://launchpad.net/~ondrej/+archive/ubuntu/php>`_
* `tokenizer <http://www.php.net/tokenizer>`_
* `tokyo_tyrant <https://www.php.net/manual/en/book.tokyo-tyrant.php>`_
* `trigger_error <https://www.php.net/trigger_error>`_
* `Tutorial 1: Let’s learn by example <https://docs.phalconphp.com/en/latest/reference/tutorial.html>`_
* `Type Casting <https://php.net/manual/en/language.types.type-juggling.php#language.types.typecasting>`_
* `Type declarations <https://www.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration>`_
Expand Down Expand Up @@ -322,7 +310,6 @@ List of external links mentioned in this documentation.
* `YAML Ain't Markup Language <http://www.yaml.org/>`_
* `Yoda Conditions <https://en.wikipedia.org/wiki/Yoda_conditions>`_
* `Zend Monitor - PHP API <http://files.zend.com/help/Zend-Server/content/zendserverapi/zend_monitor-php_api.htm>`_
* `ZeroMQ <http://zeromq.org/>`_
* `zip <https://en.wikipedia.org/wiki/Zip_(file_format)>`_


Expand Down
16 changes: 15 additions & 1 deletion Changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Here is the release note of exakat.


+ Architecture
+
+ Docs : fixed presentation for cobblers

+ Cobbler
+ New cobbler : remove abstract option
Expand All @@ -45,6 +45,20 @@ Here is the release note of exakat.
+ New analysis : Report Abstract Private methods in traits (php 8.0-)
+ Refactored analysis : Dynamic New now also works on parenthesis
+ New analysis : Report Utf8_encode() and utf8_decode() deprecation
+ Refactored analysis : Create Default Values checks on self-transforming variables
+ Refactored analysis : Missing Typehint skips constructor and destructor
+ Refactored analysis : Useless constructor skip one that has other constructor calling it
+ New analysis : Some Magic methods have compulsory return types
+ Refactored analysis : Overwritten const is extended to classes without constants (but in their parent or interfaces)
+ Refactored analysis : Nested ternaries now checks assignations, New parameter to set the min depth
+ Refactored analysis : Instantiating Abstract now uses PDFF
+ Refactored analysis : $this may be OK in closures (they can be rebinded later)
+ Refactored analysis : Adding 'Void' returntype when possible
+ Refactored analysis : Don't Collect Void was upgraded with methods returning nothing.
+ Refactored analysis : Identical Expressions, now checks = and omits short assignations
+ New analysis : If Then Return Favorite
+ Refactored analysis : Useless Casting checks % distinctly
+ Refactored analysis : Add Zero skips variables more often

+ Tokenizer
+ Fixed namespace's names dectection for older PHP versions
Expand Down
19 changes: 10 additions & 9 deletions Reference/Cobblers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Add Final Class
+++++++++++++++
Adds ``final`` keyword to classes that can suppport it.


.. _add-final-class-before:

Before
Expand Down Expand Up @@ -268,7 +269,7 @@ _____

Gather Use Expression
+++++++++++++++++++++
Move lone use expression to the beginning of the file
Move lone use expression to the beginning of the file.

.. _gather-use-expression-before:

Expand Down Expand Up @@ -1798,13 +1799,13 @@ _______________
Specs
_____

+----------------+------------------------------------------------------------------+
| Short Name | Functions/SetNullType |
+----------------+------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_ |
+----------------+------------------------------------------------------------------+
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Short Name | Functions/SetNullType |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Exakat version | 2.3.0 |
+----------------+-------------------------------------------------------------------------------------------------------------------------+
| Available in | `Entreprise Edition <https://www.exakat.io/entreprise-edition>`_, `Exakat Cloud <https://www.exakat.io/exakat-cloud/>`_ |
+----------------+-------------------------------------------------------------------------------------------------------------------------+


.. _functions-settypevoid:
Expand All @@ -1813,7 +1814,7 @@ _____

Set Type Void
+++++++++++++
Adds the void typehint to functions and methods, when possible
Adds the void typehint to functions and methods, when possible.

.. _set-type-void-before:

Expand Down
17 changes: 8 additions & 9 deletions Reference/Reports.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ __________

Ambassador is the most complete Exakat report. It used to be the default report, until Exakat 1.7.0

The Ambassador report includes :
The Ambassador report many reports.

+ Full configuration for the audit
+ Full documentation of the analysis
Expand Down Expand Up @@ -380,7 +380,7 @@ __________________

The CompatibilityPHP56 report list all detected issues with PHP 5.6 compatibility.

The CompatibilityPHP56 report displays one result per line, grouped by rule, and ordered by file and line number :
The CompatibilityPHP56 report displays one result per line, grouped by rule, and ordered by file and line number. Here is an example :

::
Expand Down Expand Up @@ -562,7 +562,7 @@ __________________

The CompatibilityPHP74 report list all detected issues with PHP 7.4 compatibility.

The CompatibilityPHP74 report displays one result per line, grouped by rule, and ordered by file and line number :
The CompatibilityPHP74 report displays one result per line, grouped by rule, and ordered by file and line number. Here is an example :

::
Expand Down Expand Up @@ -614,7 +614,7 @@ __________________

The CompatibilityPHP80 report list all detected issues with PHP 8.0 compatibility.

The CompatibilityPHP80 report displays one result per line, grouped by rule, and ordered by file and line number :
The CompatibilityPHP80 report displays one result per line, grouped by rule, and ordered by file and line number. Here is an example :

::
Expand Down Expand Up @@ -675,7 +675,7 @@ __________________

The CompatibilityPHP56 report list all detected issues with PHP 8.1 compatibility.

The CompatibilityPHP81 report displays one result per line, grouped by rule, and ordered by file and line number :
The CompatibilityPHP81 report displays one result per line, grouped by rule, and ordered by file and line number. Here is an example :

::
Expand Down Expand Up @@ -1639,7 +1639,6 @@ _______

The History report collects meta information between audits. It saves the values from the current audit into a separate 'history.sqlite' database.


The history tables are the same as the dump.sqlite tables, except for the extra 'serial' table. Each audit comes with 3 identifiers :

+ 'dump_timestamp' : this is a timmestamp taken when the dump was build
Expand Down Expand Up @@ -2098,7 +2097,7 @@ _______

The Perfile report lays out the results file per file.

The Perfile report displays one result per line, grouped by file, and ordered by line number :
The Perfile report displays one result per line, grouped by file, and ordered by line number. Here is an example :

::
Expand Down Expand Up @@ -2165,7 +2164,7 @@ _______

The Perrule report lays out the results, rule by rue.

The Perrule report displays one result per line, grouped by rule, and ordered by file and line number :
The Perrule report displays one result per line, grouped by rule, and ordered by file and line number. Here is an example :

::
Expand Down Expand Up @@ -3066,7 +3065,7 @@ _________

StubsJson produces a complete description of definitions from the code.

The StubsJson report includes :
StubsJson produces a complete description of definitions from the code.

+ Global variables
+ Functions
Expand Down

0 comments on commit d52d367

Please sign in to comment.