Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm wondering if there are any completely event-drive frameworks out there for PHP which are based around dependency injection for decoupling. I know there are some frameworks that make use of these patterns - but in the end the entire life-cycle of the application is still pre-defined and linear in style.
For example, most frameworks are built to receive, process, and return results from HTTP requests. An event drive framework would have handlers for that, but also be able to be used for new purposes like background processing, command line interaction, or other non-standard use cases.
It sounds to me like the Photon framework fits closest to your description - the key point is that you can't have event-driven code without php running in a daemon-like process. Your choice of webserver in fact dictates whether what you ask is possible or not - photon is dependent on mongrel2.
I have never used it for a project personally, but I believe that Prado covers what you are asking. It is componentised, but I cannot be sure about the dependency injection aspect.
From their site:
PRADOTM is a component-based and event-driven programming framework for developing Web applications in PHP 5. PRADO stands for
PHP Rapid Application Development Object-oriented.
I know of it because one of my university class mates designed the logo and website for the project.
Not used it, but I believe in addition to Prado, which Treffynnon has mentioned, Qcodo is a pure event-driven framework.
I was looking what is around as well and i came across p4e which is based on zend framework,and nette, hope it can help!
Off the bat there are these 2 as well:
Zend Framework 2 (still in beta)
symfony 2
Both have all the things you are looking for I believe.
Symfony2. Simple as that.
http://symfony.com/
Yii ,It is a component based and event-driven framework, Pure OOP and MVC. It is very clean and neat. Check it out.
http://www.yiiframework.com
The Qbix Platform is heavily event-driven in PHP, although it does not use dependency injection.
Reactphp is what you are looking for.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I'm wondering if it is possible to create a web application where a user can sign up,login, and make payments without using a framework like Rails or Node.js, but rather html,css,php,mysql etc.
Is this even possible?
Yes, it is entirely possible to write any web application without framework. Keep in mind that frameworks are also written in their respective programming languages - therefore, you can achieve same results without one, but it will be more time-consuming and will need more work to "reinvent the wheel". A framework usually delivers many useful functionalities that are ready to use, but in the exchange you must comply to its standards, semantics and rules.
Many programmers of high-end applications choose to develop without a framework, because they don't want to be bound by those boundaries. Also, there are performance reasons - if you can fine tailor your application to your business requirements, it will probably run faster.
Also, please keep in mind that Node.js isn't a framework - it is a toolset that allows running JavaScript applications in OS enviroment instead of the browser.
It will take a lot of time but it sure is possible. These 'frameworks' are here to speed things up for you. I recommend you to take a look at a couple of MVC frameworks. For example: Laravel, Codeigniter and Symfony. These frameworks will do a lot for you(Think about security and routing) but you still have to write the biggest part of the logic yourself.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I am diving into the web application testing line(php ,ajax,javascript) and need some guidance. There is a lot of stuff in google.
Does anybody known any good links or tutorials to learn from. Any video tutorials that I can watch ?
For PHP testing you could check out the PHPUnit tutorial on the Pear site, and this video on CakePHP TV
For JS testing it might be worth looking at Google JS Test
Hope that's useful!
If you want to go for automated testing, then I would suggest using SELENIUM IDE. You should be able to find tutorials & videos to learn how to use it.
It might be worth trying a bit of Unit Testing with your PHP. You can take a look at
http://www.simpletest.org/
For PHP testing there's a lot of automated testing framework that you can try out, here's a list of some of them.
PHPUnit
PHPUnit is a programmer-oriented testing framework for PHP.
It is an instance of the xUnit architecture for unit testing frameworks.
Documentation for PHPUnit : https://phpunit.de/documentation.html
Codeception
Codeception collects and shares best practices and solutions for testing PHP web applications. With a flexible set of included modules tests are easy to write, easy to use and easy to maintain. Codeception encourages developers and QA engineers to concentrate on testing and not on building test suite.
Documentation for Codeception : http://codeception.com/docs/01-Introduction
Phpspec
A php toolset to drive emergent
design by specification.
Documentation for Phpspec : http://www.phpspec.net/en/stable/manual/introduction.html
Peridot PHP
highly extensible, highly enjoyable, BDD testing framework for PHP.
Documentation for Peridot PHP : http://peridot-php.github.io/docs/
Atoum
atoum is a simple, modern and intuitive unit testing framework for PHP! It is completely standalone, everything is available and works out of the box.
Documentation for Atoum : http://docs.atoum.org/en/latest/
these are few of many many other php unit testing frameworks, you can check them all and choose for your self which one to use and which one is best for the job.
Try out for
http://www.w3schools.com/
it will be helpful
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I started programming in january of this year and have covered a lot of ground. I have learnt javascript, ruby on rails, html, css, jquery and every now and then i like to try out some clojure but i will really get into that in the middle of next yr. I really didnt like rails and prefer using netbeans with pure javaScript, html and css, i just feel like i have more control. I really like javascript, but when it comes to sever side programming i have a problem.......for my level of experience i just feel like server side js will not be a good fit yet as it is still not as mature/user friendly as php or ruby on rails.
What server side language should i invest in, should i learn php? There is so much info on source code on php. I know that there is node.js and emerging frameworks like geddy.js but i need something more user friendly....or am i just being a woos.I would really like some help on this.
Thanks in advance
PS. Update: Thanks all for advice, i have settled on python and web2py framework. I decided between django and web2py by doing a couple of simple tutorials and preferred web2py by a huge margin.
If you like ruby as programming language, but find rails to be just too much to take in it once, I'd recommend trying Sinatra. It's also a ruby-based web framework, but it's a lot simpler than rails, and offers you a lot more control over how you want to set things up. For smaller projects, it's often a much better fit than Rails.
Not sure why you don't like rails, but you might want to try the newly released "Rails for Zombies" tutorials by Envy Labs: http://railsforzombies.org/. Or if you like books instead of online stuff, check out Agile Web Development with Rails
As ben states, sinatra is nice for smallish stuff.
A few things to choose from, broken down by language and order of their complexity/learning curve:
Ruby
Sinatra
Rails
Python
web.py
Django
PHP
Code Igniter
CakePHP
Symfony
EDIT: I removed my comment about php and added in some PHP specifics. Personally I started with Symfony but it is rather complex. Code Igniter would be a good starting place if you want to learn a PHP framework.
Python language and Django web framework are another good alternative. Both elegant and easy to get started with.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 months ago.
Improve this question
I am about to start to developing backend site of a php project. Companies and site admins will login to this site and manage their data on the project.
My previous admin panel experiences were full of agony and pain. So I want to make sure that I choose correct tools for my purpose.
By the way, please note, I'm not looking for scaffolding. There won't be much tables in my database. Instead, there will be complex logic between entities.
I want clear seperation of markup and logic code and easy-to-use and standardized user-interface.
Thank you.
Edit:
I understand this is very subjective. This is why I call it suggestion. I want to try a few of chunks of code before going along with one of them.
There is no perfect answer for this, it depends a lot of your (and your team) programming experience and your project's requirements.
As it talks about PHP and backoffice, I suggest you look at symfony framework. It's a RAD framework with great admin features and tons of plugins easing backpanel developement.
I understand you don't want scaffolding, in symfony you can choose to use a very customizable admin generator or build your own forms/listings (or mix between both, using generated as a good code base and extending it).
It comes with a great separation of concerns as it uses MVC paradigm, but aside from MVC it has form management sub-framework which can help a lot developing backoffice.
Be careful if you're not familiar with PHP5 OOP and MVC it could be little complex to learn and understand, but if your planning could allow you to have time to learn symfony programming, it's an experience I would recommand to every PHP developer.
This framework is very well documented, and as an introduction tutorial they offer a class around a website example with its backend application.
Of course, this is subjective and others would perhaps recommend you other choices.
Only recently went through a couple of frameworks about a month ago for a site I was working on and found CodeIgniter was easiest to get up and running and had the best documentation and tutorials.
http://codeigniter.com/
Alternatives are symphony, cakePHP and Kohona
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 months ago.
Improve this question
I wrote a web service API which services REST requests in php. It didn't take much time to actually setup this on apache. But, I am more comfortable writing python code rather than php code. Can python be used as a server-side scripting language like php? What changes are necessary to make it work with apache?
Thanks
Bala Mudiam
For a REST full API I would suggest that you take a look at Tornado. It's what Facebook uses. It's fast, efficient and easy to work with (written i Python). You may use nginx as a proxy in front of it to server static content and allow more Tornado services for scaling.
Python is a very capable server-side language. Large sites (such as AG Interactive) use Python for server-side programming and have had great results. mod_python and mod_wsgi are 2 popular modules for Apache that allow you to serve Python.
Yes Python can be used as server-side language (as well as Perl, Ruby or even C/C++). Just use mod_python for Apache http://www.modpython.org/
I'll dare to say that mod_wsgi is probably closer to the de-facto choice (vs. mod_python) if you're stuck with Apache as your web server these days. One benefit is that you'll find a wide range of active frameworks and libraries that are WSGI compatible. Please don't read too deeply into "framework" - some things I'd lump in there are quite minimal, providing a few nice conveniences on top of raw WSGI to help you organize your code. Imagining that you're not looking to invest into a web framework itself just to get a REST interface up, you might check out restish as an option.
In my opinion python which is a popular language is better.