» PHP.JS SVN
399 PHP equivalents
- PHP.JS Licensing
- » PHP.JS SVN
- PHP.JS Namespaced
- abs
- acosh
- acos
- addslashes
- aggregate
- aggregate_info
- aggregate_methods
- aggregate_methods_by_list
- aggregate_methods_by_regexp
- aggregate_properties
- aggregate_properties_by_list
- aggregate_properties_by_regexp
- aggregation_info
- array
- array_change_key_case
- array_chunk
- array_combine
- array_count_values
- array_diff
- array_diff_assoc
- array_diff_key
- array_diff_uassoc
- array_diff_ukey
- array_fill
- array_fill_keys
- array_filter
- array_flip
- array_intersect
- array_intersect_assoc
- array_intersect_key
- array_intersect_uassoc
- array_intersect_ukey
- array_keys
- array_key_exists
- array_map
- array_merge
- array_merge_recursive
- array_multisort
- array_pad
- array_pop
- array_product
- array_push
- array_rand
- array_reduce
- array_reverse
- array_search
- array_shift
- array_slice
- array_splice
- array_sum
- array_udiff
- array_udiff_assoc
- array_udiff_uassoc
- array_uintersect
- array_uintersect_assoc
- array_uintersect_uassoc
- array_unique
- array_unshift
- array_values
- array_walk
- array_walk_recursive
- arsort
- asinh
- asin
- asort
- assert
- assert_options
- atan2
- atanh
- atan
- base64_decode
- base64_encode
- basename
- base_convert
- bin2hex
- bindec
- call_user_func
- call_user_func_array
- ceil
- checkdate
- chop
- chr
- chunk_split
- classkit_import
- classkit_method_add
- classkit_method_copy
- classkit_method_redefine
- classkit_method_remove
- classkit_method_rename
- class_exists
- compact
- constant
- convert_uuencode
- cosh
- cos
- count
- count_chars
- crc32
- create_function
- ctype_alnum
- ctype_alpha
- ctype_cntrl
- ctype_digit
- ctype_graph
- ctype_lower
- ctype_print
- ctype_punct
- ctype_space
- ctype_upper
- ctype_xdigit
- current
- date
- date_default_timezone_get
- date_default_timezone_set
- date_parse
- deaggregate
- decbin
- dechex
- decoct
- defined
- define
- deg2rad
- die
- dirname
- doubleval
- each
- echo
- empty
- end
- exit
- explode
- expm1
- exp
- extract
- fclose
- feof
- fgetcsv
- fgetc
- fgetss
- fgets
- filemtime
- filesize
- file
- file_exists
- file_get_contents
- floatval
- floor
- fmod
- fopen
- fpassthru
- fread
- fseek
- ftell
- function_exists
- func_get_args
- func_get_arg
- func_num_args
- getdate
- getenv
- getlastmod
- getrandmax
- gettimeofday
- gettype
- get_cfg_var
- get_class
- get_class_methods
- get_class_vars
- get_declared_classes
- get_defined_constants
- get_defined_functions
- get_defined_vars
- get_headers
- get_html_translation_table
- get_included_files
- get_meta_tags
- get_object_vars
- get_required_files
- get_resource_type
- gmdate
- gmmktime
- gmstrftime
- gopher_parsedir
- hexdec
- htmlentities
- htmlspecialchars
- htmlspecialchars_decode
- html_entity_decode
- http_build_query
- hypot
- idate
- implode
- import_request_variables
- include
- include_once
- ini_alter
- ini_get
- ini_get_all
- ini_restore
- ini_set
- intval
- in_array
- ip2long
- isset
- is_array
- is_binary
- is_bool
- is_buffer
- is_callable
- is_double
- is_finite
- is_float
- is_infinite
- is_integer
- is_int
- is_long
- is_nan
- is_null
- is_numeric
- is_object
- is_real
- is_resource
- is_scalar
- is_string
- is_unicode
- join
- json_decode
- json_encode
- key
- krsort
- ksort
- lcfirst
- lcg_value
- levenshtein
- localeconv
- localtime
- log10
- log1p
- log
- long2ip
- ltrim
- max
- md5
- md5_file
- method_exists
- microtime
- min
- mktime
- mt_getrandmax
- mt_rand
- natcasesort
- natsort
- next
- nl2br
- nl_langinfo
- number_format
- octdec
- ord
- parse_str
- parse_url
- pathinfo
- pclose
- phpversion
- php_ini_loaded_file
- php_ini_scanned_files
- php_strip_whitespace
- pi
- popen
- pos
- pow
- preg_grep
- preg_quote
- prev
- printf
- print_r
- property_exists
- putenv
- quoted_printable_decode
- quoted_printable_encode
- quotemeta
- rad2deg
- rand
- range
- rawurldecode
- rawurlencode
- readfile
- realpath
- register_shutdown_function
- require
- require_once
- reset
- restore_exception_handler
- rewind
- round
- rsort
- rtrim
- runkit_class_adopt
- runkit_class_emancipate
- runkit_function_add
- runkit_function_copy
- runkit_function_redefine
- runkit_function_remove
- runkit_function_rename
- runkit_import
- runkit_method_add
- runkit_method_copy
- runkit_method_redefine
- runkit_method_remove
- runkit_method_rename
- runkit_superglobals
- serialize
- setcookie
- setlocale
- setrawcookie
- settype
- set_exception_handler
- set_time_limit
- sha1
- sha1_file
- shuffle
- sinh
- sin
- sizeof
- sleep
- sort
- soundex
- split
- sprintf
- sql_regcase
- sqrt
- strcasecmp
- strchr
- strcmp
- strcoll
- strcspn
- strftime
- stripos
- stripslashes
- strip_tags
- stristr
- strlen
- strnatcasecmp
- strnatcmp
- strncasecmp
- strncmp
- strpbrk
- strpos
- strrchr
- strrev
- strripos
- strrpos
- strspn
- strstr
- strtok
- strtolower
- strtotime
- strtoupper
- strtr
- strval
- str_getcsv
- str_ireplace
- str_pad
- str_repeat
- str_replace
- str_rot13
- str_shuffle
- str_split
- str_word_count
- substr
- substr_compare
- substr_count
- substr_replace
- tanh
- tan
- timezone_abbreviations_list
- timezone_identifiers_list
- time
- time_nanosleep
- time_sleep_until
- trim
- uasort
- ucfirst
- ucwords
- uksort
- uniqid
- unserialize
- urldecode
- urlencode
- usleep
- usort
- utf8_decode
- utf8_encode
- var_dump
- var_export
- vprintf
- vsprintf
- wordwrap
PHP to Javascript Project: php.js
This article is part of the 'Porting PHP to Javascript' Project, which aims to decrease the gap between developing for PHP & Javascript.
A lot of people are familiar with PHP's functions, and though Javascript functions are often quite similar, some functions may be missing or addressed differently. The Javascript implementations should be as compliant with the PHP versions as possible, a good indication is that the PHP function manual could also apply to the Javascript version.
Porting crucial PHP functions to Javascript can be fun & useful. Currently some PHP functions have been added, but readers are encouraged to contribute and improve functions by adding comments. Eventually the goal is to save all the functions in one php.js file and make it publicly available for your coding pleasure.
If you choose to contribute, let me know how you want to be credited in the function's comments. You may also want to subscribe to RSS so you receive updates whenever new functions are posted.
Hello good people. Our little project is going strong and thanks to Felix Geisendörfer there are a couple of new developments that I want to share with you. I'll limit this article to SVN though.
SVN Advantages
Project development has been moved to SVN. This has a couple of advantages because SVN:
- Saves all versions. We can see who changed what & why. And we can always revert to previous a version of a function.
- Allows for more developers to contribute to this project without having to leave comments on this site all the time.
- Becomes lower maintenance for myself.
- Allows developers to include the PHP.JS repository in their projects. This way their PHP.JS they will always be up to date.
SVN Checkout
To do a checkout of the development trunk to a local directory called phpjs, you might execute the following code
svn co svn://svn.phpjs.org/phpjs/trunk phpjs
SVN Externals
svn:externals are like links to other projects. If your project is in SVN as well, you can very easily include PHP.JS into your project. For example if you'd like to store an up to date version of PHP.JS in a directory called 'libs' then the SVN external property could look like this:
libs/phpjs svn://svn.phpjs.org/phpjs/trunk
If the latest development release is a bit to risky for you, you might want to include a specific release (e.g. 112) like this:
libs/phpjs -r 112 svn://svn.phpjs.org/phpjs/trunk
Tags will be supported later on.
More information about the svn:externals property
SVN Write access
If you would like to help and contribute code to this project, I will manually have to create an account for you. In this phase we're only allowing requests from people who have a compatible philosophy about this project and have already made solid contributions.
If you're interested please leave a comment here or mail your request to: kevin [ a t ] van zonneveld [ d o t ] net
Trac
Trac is a nice web tool to browse SVN source changes, submit bugs & feature requests. For now all of it's features require a login (see above to request one), but we'll probably gradually allow anonymous access to more & more of it's features.
Once it's publicly available I'll announce the URL here.
Can't SVN?
Don't worry, you can still just post a Comment if you have improvements. If it's any good, other people will submit your code to our new repository. Credits will stay intact.
Kay that's it for now, thanks everyone for great contributions and insightful comments. I'll be back soon with more awesome PHP.JS news.
Stay up to date
You can track my blog
articles and
comments. You may also find my
bookmarks interesting. Or
Follow me on Twitter
Like this article?
|
Then Dzone it! Or use another bookmark button below to show your support & help me spread the word. |
RelatedArticles like this one» PHP.JS Licensing |
tags: programming, php, javascript, svn, phpjs, trac
category: Programming - Javascript - PHP equivalents
read: 8,754 times
Add Comment
PHP.JS is outgroing this blog and moving to it's own space. Please leave your comment here: http://phpjs.org






tagcloud

#10. Kevin on 27 August 2008
- article on using rhino is coming (I've indeed just finished rewriting the test-suite)
- separate php.js site (progress @ www.phpjs.org)
- and custom packaging of php.js (will be a site-feature)
- list of unported function (can be found in SVN already: http://trac.plutonia.nl/projects/phpjs/browser/trunk/_unported)
... [more]
Thanks for your input!
#9. walrus on 27 August 2008
#8. gggeek on 27 July 2008
Now, some ideas and request:
- sorry if there are already answers to these in the blog, but I find quite hard to search for info in here. I read that the project is going to be moved to its own site, and I will wait for that. Why not move to sf.net? They have svn, bug tracker etc, and setting up a project is quite straightforward. Also using http for svn is better for people who want to access via firewalls.
... [more]
- there looks to be some code for parsing php docs for getting the list of functions and running unit tests in rhino. It would be nice to have a little more docs on those. Also a script that lists porting status of every php function would be good (yes/no + known quirks), possibly with a total percentage and a per extension percentage
- what tool is used to parse the comments and generate the docs?
- why not package also the functions in "extensions" files, where all the functions pertaining to one php extension are packed together in a single js file? This way it is easier to find them and download them if you just need a subset
- a list of extensions that cannot / will not be ported (eg db access, etc...)
#7. Kevin on 17 April 2008
#6. Philip Peterson on 17 April 2008
#5. Kevin on 15 April 2008
Please contact me: kevin [ a t ] van zonneveld [ d o t ] net, so I can give you the SVN account.
#4. Philip Peterson on 15 April 2008
#3. Philip Peterson on 15 April 2008
#2. Philip [Peterson] on 15 April 2008
Thanks,
Philip
#1. Chad on 13 April 2008