Bug 903766 (php-PhpOption) - Review Request: php-PhpOption - Option type for PHP
Summary: Review Request: php-PhpOption - Option type for PHP
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: php-PhpOption
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Remi Collet
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: php-PhpCollection php-JMSParser
TreeView+ depends on / blocked
 
Reported: 2013-01-24 19:44 UTC by Shawn Iwinski
Modified: 2013-02-15 18:36 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-02-05 02:58:22 UTC
Type: ---
Embargoed:
fedora: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
phpci.log (10.55 KB, text/x-log)
2013-01-25 14:26 UTC, Remi Collet
no flags Details
php-PhpOption-review.txt (7.34 KB, text/plain)
2013-01-25 14:27 UTC, Remi Collet
no flags Details

Description Shawn Iwinski 2013-01-24 19:44:27 UTC
Spec URL: http://siwinski.fedorapeople.org/rpmbuild/SPECS/php-PhpOption.spec

SRPM URL: http://siwinski.fedorapeople.org/rpmbuild/SRPMS/php-PhpOption-1.1.0-1.fc18.src.rpm

Description:
This package adds an Option type for PHP.

The Option type is intended for cases where you sometimes might return a value
(typically an object), and sometimes you might return no value (typically null)
depending on arguments, or other runtime factors.

Often times, you forget to handle the case where no value is returned. Not
intentionally of course, but maybe you did not account for all possible states
of the system; or maybe you indeed covered all cases, then time goes on, code
is refactored, some of these your checks might become invalid, or incomplete.
Suddenly, without noticing, the no value case is not handled anymore. As a
result, you might sometimes get fatal PHP errors telling you that you called a
method on a non-object; users might see blank pages, or worse.

On one hand, the Option type forces a developer to consciously think about both
cases (returning a value, or returning no value). That in itself will already
make your code more robust. On the other hand, the Option type also allows the
API developer to provide more concise API methods, and empowers the API user in
how he consumes these methods.


Fedora Account System Username: siwinski

Comment 1 Remi Collet 2013-01-25 14:26:55 UTC
Created attachment 687489 [details]
phpci.log

Comment 2 Remi Collet 2013-01-25 14:27:27 UTC
Created attachment 687490 [details]
php-PhpOption-review.txt

Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16
Buildroot used: fedora-17-x86_64
Command line :/usr/bin/fedora-review -b 903766

Comment 3 Remi Collet 2013-01-25 14:27:54 UTC
All seems correct.

No Blocker

=== APPROVED ===

Comment 4 Shawn Iwinski 2013-01-25 15:09:35 UTC
THANKS for the review!


New Package SCM Request
=======================
Package Name: php-PhpOption
Short Description: Option type for PHP
Owners: siwinski
Branches: f18 el6
InitialCC:

Comment 5 Gwyn Ciesla 2013-01-25 15:27:05 UTC
Git done (by process-git-requests).

Comment 6 Fedora Update System 2013-01-25 17:16:13 UTC
php-PhpOption-1.1.0-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/php-PhpOption-1.1.0-1.fc18

Comment 7 Fedora Update System 2013-01-25 17:16:25 UTC
php-PhpOption-1.1.0-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/php-PhpOption-1.1.0-1.el6

Comment 8 Fedora Update System 2013-01-26 16:00:34 UTC
php-PhpOption-1.1.0-1.fc18 has been pushed to the Fedora 18 testing repository.

Comment 9 Fedora Update System 2013-02-05 02:58:24 UTC
php-PhpOption-1.1.0-1.fc18 has been pushed to the Fedora 18 stable repository.

Comment 10 Fedora Update System 2013-02-15 18:36:33 UTC
php-PhpOption-1.1.0-1.el6 has been pushed to the Fedora EPEL 6 stable repository.


Note You need to log in before you can comment on or make changes to this bug.