Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #14780
| From | "M. Strobel" <sorry_no_mail_here@nowhere.dee> |
|---|---|
| Newsgroups | comp.lang.php |
| Subject | Re: PHP CSV |
| Date | 2014-12-20 00:35 +0100 |
| Message-ID | <cfjr2iFok9qU1@mid.uni-berlin.de> (permalink) |
| References | (8 earlier) <m702rq$1a9$1@dont-email.me> <191220140943102761%timstreater@greenbee.net> <m717q6$ka4$1@solani.org> <m71i0c$ht4$1@dont-email.me> <87y4q3wilr.fsf@ahungry.com> |
On 19.12.2014 20:21, Matthew Carter wrote:
> Jerry Stuckle <jstucklex@attglobal.net> writes:
>
>> On 12/19/2014 8:05 AM, Christoph M. Becker wrote:
>>> Tim Streater wrote:
>>>
>>>> In article <m702rq$1a9$1@dont-email.me>, Jerry Stuckle
>>>> <jstucklex@attglobal.net> wrote:
>>>>
>>>>> On 12/18/2014 11:22 AM, Joydeep Chakrabarty wrote:
>>>>>
>>>>>> <?php
>>>>>> $file = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'x.csv';
>>>>>> echo $file . "<br />\n";
>>>>>> $fp = fopen ($file, "r") or die("Unable to open file");
>>>>>> fclose($fp);
>>>>>> ?>
>>>>>
>>>>> You should never use die() (or exit() on a production server. It
>>>>> terminates processing of the script immediately, which produces invalid
>>>>> (x)html. Plus it looks like crap to the user.
>>>
>>> While I absolutely agree that it is a very bad idea to terminate the
>>> script in the middle of the output, prohibiting die or exit in a
>>> production environment is too hard and fast a rule, IMO. It's like
>>> forbidding return, unless as the last statement of a function.
>>>
>>
>> return does not create invalid output. die() and exit() do.
>>
>> I have *never* found a need for either one in a properly constructed
>> script.
>>
>>>> I dunno why the OP doesn't read the documentation. What I do is:
>>>>
>>>> $fp = fopen ($file, "r")
>>>> if ($fp===false)
>>>> {
>>>> // Perform error processing here, log the error in my log file
>>>> // and notify the remote end appropriately
>>>> exit ();
>>>> }
>>>
>>> What I would do is something like:
>>>
>>> read_the_file();
>>> generate_output();
>>>
>>> IOW: I would separate the presentation code from the domain code.
>>>
>>
>> I don't think it's necessarily a good idea to do this. If the functions
>> are only called one from one place, it upsets the flow of the script,
>> making the reader go back and forth to follow processing. It also means
>> you have to read the entire script in before generating any output,
>> instead of completely processing the input line by line.
>>
>> I prefer something like:
>>
>> $fp = fopen ($file, "r")
>> if ($fp) {
>> // Read the file and process it
>> }
>> else {
>> // Perform error processing here, log the error in my log file
>> // and notify the remote end appropriately
>> }
>
> Exceptions work pretty well (instead of many if/else blocks). Then you
> can handle your output at the end if the process fails (and line by line
> if it doesn't).
>
I think so as well. In another language (ocaml) they use exceptions for end of file
and other "regular" conditions, so one gets to understand that it is just another
structure tool. Provided they are cheap (in Java they are not so cheap).
In PHP, for example when using PDO, it saves you the need to check every return code.
But you should take care to capture the exception only at the level where you can
decide if/how to continue.
/Str.
Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 17:09 +0530
Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 13:11 +0100
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-18 13:27 +0100
Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 18:26 +0530
Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 14:43 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-18 09:24 -0500
Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 20:56 +0530
Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 16:57 +0100
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-18 17:04 +0100
Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 21:52 +0530
Re: PHP CSV Markus Heinz <markus.heinz@uni-dortmund.de> - 2014-12-18 17:38 +0100
Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 16:49 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-18 21:34 -0500
Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2014-12-19 09:43 +0000
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-19 14:05 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-19 10:59 -0500
Re: PHP CSV Matthew Carter <m@ahungry.com> - 2014-12-19 14:21 -0500
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-19 18:17 -0500
Re: PHP CSV "M. Strobel" <sorry_no_mail_here@nowhere.dee> - 2014-12-20 00:35 +0100
Re: PHP CSV Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-02-04 13:19 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 08:03 -0500
Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 13:29 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 09:06 -0500
Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 15:26 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 10:40 -0500
Re: PHP CSV Paul Herber <paul@pherber.com> - 2015-02-04 16:11 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 11:23 -0500
Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 17:08 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 12:48 -0500
Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 17:05 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 12:49 -0500
Re: PHP CSV Tim Streater <timstreater@greenbee.net> - 2015-02-04 18:14 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 13:37 -0500
Re: PHP CSV Matthew Carter <m@ahungry.com> - 2015-02-04 15:23 -0500
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-04 21:54 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 16:32 -0500
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 16:31 -0500
Re: PHP CSV Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-02-04 16:39 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 10:57 -0500
Re: PHP CSV Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-02-04 18:07 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-04 12:55 -0500
Re: PHP CSV Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-02-06 23:26 +0100
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 01:38 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-06 19:44 -0500
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 14:49 +0100
Re: PHP CSV Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-02-07 14:28 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-06 19:42 -0500
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 04:33 +0100
Re: PHP CSV Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-02-07 14:26 +0100
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 14:45 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-07 08:54 -0500
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 16:54 +0100
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-07 11:00 -0500
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2015-02-07 08:51 -0500
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-02-07 14:55 +0100
Re: PHP CSV Olaf Schmitt <thesys@gmx.de> - 2014-12-19 01:16 +0100
Re: PHP CSV Denis McMahon <denismfmcmahon@gmail.com> - 2014-12-19 02:14 +0000
Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 18:13 +0530
Re: PHP CSV Derek Turner <frderek@cesmail.net> - 2014-12-18 12:55 +0000
Re: PHP CSV Joydeep Chakrabarty <chalao.adda@gmail.com> - 2014-12-18 18:33 +0530
Re: PHP CSV Derek Turner <frderek@cesmail.net> - 2014-12-18 13:10 +0000
Re: PHP CSV Jerry Stuckle <jstucklex@attglobal.net> - 2014-12-18 08:17 -0500
Re: PHP CSV "Christoph M. Becker" <cmbecker69@arcor.de> - 2014-12-18 15:16 +0100
csiph-web