Alternative to phpUnderControl - is it the best? [closed] - php

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am searching for a good system for PHP, which does UnitTesting, Subversion, Coding Standards.
I would love to hear your suggestions and which one is the best and why.
I will be running it on a debian server so anything which runs on mac or windows servers would be out of the question.

I second Hudson for CI and PHP. I have written a tutorial on setting it up if you are interested.
Edit:
My tutorial is out of date.
I highly recommend: http://jenkins-php.org/

We have played with Xinc, but we stuck with phpUnderControl for now. It seemed a bit more mature, when we evaluated the different solutions.
phpug came with the obvious support for phpUnit, also generates docs (phpDocumentor) uses xdebug code coverage and project mess detection and even checks on CS (through phpcs). As for phpUnit, you can now even run phpt-style tests with it which makes it for some people easier to write tests.
And even though phpug adds CruiseControl and Java to the game it hasn't been much of a hassle for us. Not as much as I assumed anyway. :) I mean, that's the advantage with a Java-based service. (Assuming you have the JDK) You just download and run it. That easy. I am not familiar with Java on Debian, but last time I checked it wasn't an issue.
As for commercial solutions I know a bunch of PHP shops that use Bamboo (along with the complete Atlassian suite).

phing is an Ant clone/workalike written in php. I use it to run phpunit tests, checkstyle coding standards checks, static website generation and tarball packaging of apps. It's fairly simple to write a custom task to integrate any php application or shell script runnable program into your build process that isn't already supported.

I think you're talking about Continuous Integration. The best thing you can use is CruiseControl + Ant + phpUnderControl + phpUnit + PHP_CodeSniffer + Xdebug. With this chain you will swing to the fans :)

If it's continuous integration that you're looking for have you checked out TeamCity? It's not specifically for PHP but it's very easy to set up and manage. It's also free for the professional licence (20 build configs) and for open source projects.

Related

Web based IDE solution [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What I want to do is, to work on my projects from "everywhere" with internet connection
I tried followings:
Tried to connect from my office to main PC with remote desktop apps like: Team Viewer, etc.. It's very slow and boring. (Seeing what I typed after 2-3 second delay, and it's really annoying)
Carrying laptop with myself also not good idea. (It's weight about 4-5 kg.)
Flash drive also not good idea... All my projects together is about 20-30 GB.
The only comfortable way for me is: web based IDE (something like Netbeans, I mean in-built project management,etc.. BUT web based).
I was looking for Web based IDE which supports PHP, HTML, JS and other various languages. My main PC is always connected to internet. So if there is any good open source (or free) solution, I can serve this IDE either from my webhosting account or directly from my PC. (For ex. this service http://c9.io/ is exactly what I need. But there are some problems: 1 its paid. 2 I don't want to host my projects in third party servers. I need something like that, but want to instal such system on my own servers )
What do you think about this/what's your suggestion? Thx in advance...
You should check out Codiad - http://www.codiad.com - you can host it on your own server, configure it to do what you need, and access it anywhere.
If you want to work on a project from anywhere, then you may want to look at using a decentralised version control system like Git instead. Advantages is you can work on any machine with Git and an IDE or text editor, and not relying on a third-party, web-based service that can do anything with your data or may disappear overnight.
As an alternative way of solving the problem: All my projects are hosted on GitHub. I split my work between three computers. When I sit down to work on a project I run git pull and any changes I’ve made on the others get pulled down. You won’t have to re-sync all 20GB of data, just the bits that you’ve changed. Then you can continue to work using native OS applications.
You can install Git, for free, on your own server.
So you want a free web-based IDE that allows you to set the project folder in your own server? That's doable I guess, but I am not sure whether anyone has done it yet.
There's always vim though. I use it a lot and, while there's somewhat of a learning curve to it, you can use it anywhere there's a console (linux or putty on windows) and I think it has all of the features you've mentioned.

Stick with PHP or learn Go-lang? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I have learned in my University time Pascal and C and RedHat Linux/Unix .
To get quickly one job, i started learning Microsoft Visual Basic 6.0 for speed in development etc. In that time, with C its like more time consuming and i was not confident to use it for job purpose, where most of the companies demand fast/rapid development.
After that i had problems with my companies because they want web applications, then i started using PHP which is also great, because customers demand web projects and they expect Google like applications in short time frame, which is doable because PHP gives that speed and its huge community.
To explain my need for Go-lang is following:
PHP the syntax is friendly compared to C/Pascal.
I was very happy to learn Python, but its syntax is very much different then C.
Which just not gonna work with me to accept and really learn it better and better.
I have tried to learn Ruby, at-least so that i can have the knowledge of Python
like syntax, but i really skipped Ruby because of 2x time slower then PHP
Therefore,
Is Go-lang is the perfect choice for SPEED vs PHP vs Ruby, for Web development + Gtk?
Alas, I'd love to have 1 asset that I could use for all conditions but it's just not available in the world of computing. You're going to have to learn 2 or more.
PHP is very widely used, so you might as well stick with it. If you can create decent webapps using it, go for it. I would suggest learning C/C++ too so you can write any high-performance modules using that and call them from your PHP code. That's probably the best of all worlds for your webapps.
If you wanted to write for desktops, I think you'll be best off learning C++ with Qt (and look at Wt) (as it appears you're a Linux dev), or C#/VB.NET for Windows.
For mobiles, learn C/C++ as you can write apps in that no matter which platform even if you have to put up with some platform-dependant extensions - you either have to learn Java for Android, Objective-C for iOS, or (well we're not quite sure what MS has planned for Windows Phone 8, but I hear they like native code again, that means C++/CX). You can see where I'm going with this!
so anyway, if you're happy with PHP then keep with it. There is a ton of code out there that runs PHP so it's not like you're working with some bleeding-edge or hardly-used obscure language.
Well, this question is obviously quite subjective, but I find PHP can always be as fast as it needs to be. I spend a lot of time looking up on how my code can be optimised further.
Some good optimisation tips: http://labs.phurix.net/posts/50-php-optimisation-tips-revisited
Of course, in the end, everything depends on what you're willing to do for extra speed and what's practical or not.

Mac OS X PHP IDE with Git support [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
Can anyone suggest a PHP IDE (preferably built in Cocoa/ Objective-C, not Java) that also has native support or an excellent plugin for Git?
I am currently using NetBeans but I am not happy with the speed and the patchy Git plugin. I have previously used Zend Studio for a long time but that had stability issues.
TextMate is my editor (ah.. no IDE) of choice. I use the GIT bundle and the Project+ plugin to see the directory structure etc.
Aptana 2.0 is the stable version but I have been using the beta version 3.0 and love it
I've been using Komodo IDE for a few years now and think it's pretty great.
I don't know any native PHP IDE for MacOSX.
However, I have been using RubyMine since its first public release, and I'm really happy with it. I would suggest you to try PhpStorm, the PHP-equivalent.
The GIT plugin is awesome.
Older post but I'll throw in my 2 cents.
All I really want is something that has great support for ruby/rails and php, and first class git support. It's quite hard to find actually.
I like Netbeans but no native git support is a killer. Even though it was a touted feature for version 7, it's nowhere to be seen even in 7 beta. Coda is nice but I find it lacks enough serious features to be a real development tool beyond the html with php sprinkled in crowd. Textmate, version 2 is some serious vaporware, and it's painfully slow on the occasion I attempt to load a remote project through a VPN. It's scanning large app directories on startup takes forever.
Then there's rubymine and phpstorm, which are nice, but then I'd have one IDE for ruby and one for php. Not exactly ideal... And of course most of these things are java anyway, which tend to be a little ugly and slow even if functional.
Realistically there's no good solution. For the longest time I've used skEdit since it had the bare features I needed. It has no git support, but at least it's native and fast, and one of the few editors I found that supports SFTP remote projects. Lately I've been using Aptana Studio 3 a bit more and I'm iffy on it. I love the git support, it's fantastic, and the built in ruby/rails tools are exceptional. Works quite well with php as well. However it's still a big java app, and the launch and shutdown times are a bit annoying, not to mention it can be a bit laggy at times... But so far, from what I've seen if you're looking for one IDE with good git support for web languages, Aptana 3 is probably the best bet...

PHP build/integration tools: Do you use them? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
After reading the "Modern PHP workflow" article in the November 2008 edition of php|architect magazine which
discussed unit testing (phpUnit), build tools (Phing) and continuous integration (Xinc), I'm inspired the learn more about some of the tooling available for PHP, especially Phing.
In the past I've often handled deployment to a production server by running the live site as a subversion working copy and simply running an "svn update" on the production box to deploy the latest version of the code.
Do you use build tools for PHP code? What advantages you you believe they offer over deploying direct from subversion? What should I look out for, or what gotchas might I face?
I have used both Phing and Ant and prefer the latter much more. I initially went with Phing due to it being written in PHP but to be honest it isn't as mature as Ant. In the end, having a mature buildsystem with a large community is worth more.
Things done with Ant/Phing:
From a base checkout loalize to a specific language, ensure dependencies are there (other libs, directories, etc)
if you have them, compile templates, etc
Bring target database up to the required version, depending on the checked out code version
run unit tests, etc
A large issue that I see with Phing is that it creates a needless layer of indirection. PHP is a scripting language, and therefore could be run directly. Phing's use of XML configuration is a poor fit for the language: it does provide a more readable declarative configuration, but at the cost of sacrificing any of the flexibility of the language. With Ant (the inspiration for that route) it makes sense since Java did not have that flexibility as it is less dynamic and requires compilation.
Unfortunately I haven't seen many good alternatives in the PHP space, and unlike other languages build tools are not as essential or a part of the culture so the evolution of another well supported option may not happen any time soon.
I'd therefore stick to options that are closer to what PHP could do from cultures that more aggressively support build tools. I normally use Gradle. Rake also does a great job depending on with which language you want to cheat (and there may be other similar options). You should also weigh things like Webdriver support if you're into that type of thing. Otherwise creating a lightweight solution using PHP and/or BASH should cover everything while maintaining transparency
I looked at at Phing at it looks pretty awesome. For the project I'm working on I'm actually using Apache's Ant. I use it to do a several things:
Combine and compress Javascript and CSS (compression done using the YUI Compressor
Replace standard config files with production config files (e.g. rename config.php.production to config.php)
Remove un-needed files (such as the ant build file, build.xml)
I think Phing is worth looking at over Ant because it's native PHP, which could be nice. Also if you are doing anything more than just copy/moving files around look out for performance issues when you move to the production environment. I had an issue where the YUI compressor ran fine on my local machine but on the relatively small VPS it was super slow.
On a project I'm working on now we're using phpUnderControl to run tests and get fast feedback when something's broken. We plan to use it to run other tests as well such as some written in Watir.

Where to find beautiful PHP code to read? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
As a way to find inspiration and improve my PHP skills, I am looking for some beautiful PHP source code to read, preferably an open source "standard" web site rather than a more tool-like project such as phpMyAdmin.
So, where can I find some beautiful PHP code?
CodeIgniter code is beautiful. There are many projects written in CodeIgniter which are publically available and you can check out the source code.
Have a look at the Getting started page of CodeIgniter's tutorial and read through. I can gaurantee you'll be inspired and want to fire up your IDE and get coding straight away :).
You can also download and have a look at the source code of Bamboo invoice. When I need inspiration I also search for 'php code' on youtube :)
Not all opensource projects are great examples as of how things are done.
Take a look at PEAR, ezComponents and the Zend Framework. All three are pretty popular in the PHP world, they solve a ton of different problems [each sometimes with a different approach] and they all follow great coding standards.
Also, there is often a trade-off between beautiful/elegant code and code that is very optimized. For example, if you want to see code that is powered to run a large website which needs to handle a lot of traffic, check out Mediawiki. It's build on very efficient code, but it's not very pretty.
Try looking at the source of the best PHP frameworks - Zend's, Symfony and CakePHP. They are very well documented and generally well designed.
Kohana and Zend Framework i'd say. Zend's coding standards is also a good read.
PHPUnit consists of great PHP5.3 code http://github.com/sebastianbergmann/phpunit/tree/
Also the Lithium Framework uses great PHP 5.3 code http://rad-dev.org/lithium/source
http://fatfree.sourceforge.net/
so minimal it's insane
http://fuelphp.com/
very easy to use
https://github.com/auraphp
Aura has some really interesting standalone packages on offer
ezComponents: Well documented, and has very handy tutorials.
Krugle.org is a great place to browse for code. Not just PHP, of course.
PHP.net is an open source website, but isn't exactly beautiful - some of it feels archaic but it works and is very secure.
Symfony is worth looking at, and there are some projects in the PHP.net CVS that are a bit more modern than the website.
Have a look at "Expert PHP 5 tools" book. There is e-book available in web also.

Categories