Completeness: Ensure all is_* functions are implemented #98

nickl- opened this Issue Jan 8, 2013 · 4 comments


None yet
4 participants

nickl- commented Jan 8, 2013

An easy task to get you started on the route to becoming a bonafide Respect . Don't fear you are never on your own, you will get all the support you need from the team. Just post to this issue stating your intention to complete this task and its all yours.

Ensure that we have implemented all the is_* Variable handling Functions the unwritten convention thus far is just to drop the is_ part ie. is_numeric() becomes v::numeric() when naming the new rules.

Tip: Try and do small incremental commits focused around a single change. This simplifies the review process. Use git diff to ensure you are only committing the changes which can be explained in a single line, as commit description. Avoid whitespace fixes in your commits or combine them all into one single commit.

  • is_a
  • is_array
  • is_bool
  • is_callable
  • is_dir
  • is_double, is_float, is_real
  • is_executable
  • is_file
  • is_finite
  • is_infinite
  • is_int, is_integer, is_long
  • is_link
  • is_nan
  • is_null
  • is_numeric
  • is_object
  • is_readable
  • is_resource
  • is_scalar
  • is_string
  • is_subclass_of
  • is_uploaded_file
  • is_writable, is_writeable
  • isset

Have fun!


henriquemoody commented Jan 11, 2013

I have created a branch "files" (see #102) and I'm working on this branch to implements all the is_* about files:

For now, we have:

  • is_dir();
  • is_file();
  • file_exists();
  • is_link();
  • is_readable();
  • is_uploaded_file();
  • is_writeable();

I have to do:

  • is_executable();

I hope today I can finish this.


nickl- commented Jan 12, 2013

Could you link to documentation please?

This issue was specifically in reference to Variable handling Functions

Listed here with tics for those which are correctly implemented, a another name where name deviation apply or if another method is used to accomplish the same. If nothing was mentioned this may not be implemented yet.

  • empty — Determine whether a variable is empty
  • is_array — Finds whether a variable is an array
  • ✓ is_bool — Finds out whether a variable is a boolean
  • is_callable — Verify that the contents of a variable can be called as a function
  • ✓ is_float — Finds whether the type of a variable is float
  • is_double — Alias of is_float
  • is_real — Alias of is_float
  • is_int — Find whether the type of a variable is integer
    Int uses is_numeric
  • is_integer — Alias of is_int
  • is_long — Alias of is_int
  • is_null — Finds whether a variable is NULL
  • ✓ is_numeric — Finds whether a variable is a number or a numeric string
  • ✓ is_object — Finds whether a variable is an object
  • is_resource — Finds whether a variable is a resource
  • is_scalar — Finds whether a variable is a scalar
  • ✓ is_string — Find whether the type of a variable is string
  • isset — Determine if a variable is set and is not NULL

There exists several discrepancies where different naming was used or the correct name but alternative methods were used to accomplish the same.

The complete list of is* functions would probably looks like this as of date:

  • is_a
  • ✓ is_array
  • ✓ is_bool
  • ✓ is_callable
  • ✓ is_dir
  • ✓ is_double
  • ✓ is_executable
  • ✓ is_file
  • is_finite
  • ✓ is_float
  • is_infinite
  • is_int
  • is_integer
  • ✓ is_link
  • is_long
  • is_nan
  • is_null
  • is_numeric
  • is_object
  • ✓ is_readable
  • ✓ is_real
  • is_resource
  • is_scalar
  • is_soap_fault
  • ✓ is_string
  • is_subclass_of
  • ✓ is_uploaded_file
  • ✓ is_writable
  • ✓ is_writeable

leonnleite commented Nov 6, 2013

this issue have 10 months, it's up to date? I'll get some


nickl- commented Nov 6, 2013

@leonnleite Still up for grabs. If you can fill in the blanks for us that would be awesome!

Shout if you need a hand with anything...

Have fun!

@augustohp augustohp modified the milestone: 0.7.0, 0.6.1 Feb 20, 2014

@augustohp augustohp modified the milestone: Backlog, 0.7.0 May 9, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment