Zend OpenID with PHP - php

I'm using the Zend OpenID library found here. I see there is a demo up, which works beautifully, but I don't see any source included for login.php. When I bring the files into my local apache and try to replicate what I see by viewing the source in the demo, I see an interface. When trying to use one of the login options, I see it makes posts like
http://localhost/zfopenid/public/user/login?action=verify&openid_username=&openid_identifier=http%3A%2F%2Fopenid.aol.com%2F
so there is certainly some php involved in that login file that I'm not able to see. I tried including application/controllers/UserController.php, but I get
Fatal error: Class 'Zend_Controller_Action' not found in /var/www/zfopenid/application/controllers/UserController.php on line 3

I don't know this Zend OpenID library but it sounds interesting. The problem is, at first look, it is tightly integrated into the Zend Framework and not a stand alone library. You'll have to run it as ZF application or find the components and then try if you can use them.
UPDATE If you want to test the downloaded application you have to make the /public directory your web root directory and the index.php your default root file. Then you can open the demo yourself. Again if you like to integrate it into your project it will be difficult because for what I see so far there is code all over the place which makes it increasingly difficult if you want it as a stand alone application.

Related

How to configure Eclipse Project for Joomla Component Development

I like to develop a fresh Joomla Component for Joomla 3.x in Eclipse and created therefore a simple PHP project.
The problem I have is now how to setup the correct "include path", so that the basic Joomla PHP classes get found like "JFactory" , "JAccess", "JObject" ...
If I just include a Joomla installation in my include path, this will not work. I assume the paths to the classes are more sophisticated than that.
Any Idea or suggestion how the "include path" for my project should look like?
regards
Mark
It depends a little on what you mean by "found".
If you mean "as I start typing a basic class name every matching basic class gets offered as an option", yes, there is a way to do that.
See the conversation, and solution, on this gitHub page.
I have the stub file referred to and it works in the way I've said above, tho' I'm using NetBeans not Eclipse (but the reference to phpStorm makes me think it should/could work for you too), although I haven't been able to run the build script. I just haven't got the time to single step through it to find out where it stops.

How can I tell if a project is done with a PHP framework?

I am working on a project (already started), but I do not know if it is done with framework since there are files in many different folders, but I do not see any syntax referring to some framework that I know of.
I hope someone can help me...
Well it would depend on the Folder Hierarchies and the code.
If the views folder has the term "blade" on it, it's definitely laravel.
If the the code of the library has the term "CI Controller" somewhere in the libraries its definitely CodeIgniter.
If the code has a lot of "wp-" string in its code, its definitely Wordpress.
TIP: Put the whole folder in Sublime, search the folder (right click the folder and choose "Find in folder...") and search for terms that are generally reserved words for mostly used frameworks.
There are different methods to identify the PHP framework used by a web application. But one of the easiest way I would like to share it with you to use this extension in your browser called Wappalyzer.
Wappalyzer is a cross-platform utility that uncovers the technologies used on websites. It detects content management systems, e-commerce platforms, web frameworks, server software, analytics tools and many more.
There are a few other tools out there that analyze what a website is using.
BuiltWith - Stand alone site, also available as a plugin
W3Techs - Stand alone site, also available as a plugin
Auto-generated comments may also help. In my case, I can tell from the comments in index.php that it's written in CodeIgniter.
If you have a copy of the project hosted somewhere you can use https://builtwith.com

Using PHP, how can I determine which CMS or framework is used?

Using PHP, can I find out which CMS or framework is used on a particular website. Eg Wordpress, Magento or Codigniter, Laravel.
I've tried this approach: http://dailyblogging.org/internet/detect-cms-and-scripts-of-websites/
This is what I actually want, but in code form, not as an online service: http://onlinewebtool.com/cmsdetector.php This should be a PHP script that does not run as an online service.
What will it take to do this, or at least give me a hint?
Update 2018
Github repo moved:
https://github.com/AliasIO/Wappalyzer/blob/master/src/apps.json
There is a Chrome extension called Wappalyzer.
You can see some regexp which are included in the wappalyzer project for detecting servers, cms and frameworks.
Maybe you can include this and write a php script that uses this:
https://github.com/ElbertF/Wappalyzer/blob/master/share/apps.json
For Drupal, view source
And if you find
/sites/all
/sites/
For including image/javascript/css, its Drupal based site.
Same way, if you find wp_content, its wordpress.
For MVC ftameworks, its difficult to determine as url routing is same for all.

Is it possible to use Zend Framework on a platform other than ZendServer/Cloud

Title says it all really. The only thing I'd like to add is to say that after initial look at the paid versions of Zend Server, it looks like in terms of cost, I would be losing the advantages of not developing a web/cloud application on Microsoft's expensive Azure platform if I did choose to go with Zend. I like the look of the Zend Framework though and am considering using it on an open source LAMP stack. Or should I go with Symfony / CakePHP on LAMP to keep costs down?
The answer to your (actual, answerable) question is: Yes.
The framework is just a bunch of libraries (just like all frameworks); and you do the following:
Go to the download page.
Register (its free), and then download "Zend Framework Full Package".
Make sure the files are available to your application, by placing them in a directory to which the user that will execute your scripts (it is normally the same user that run the webserver, for example www-data).
Follow the get starting guide.
If you like build tools, you can also use composer to automatically download ZF2 for you, by following the instructions on this page.

PHP framework that can be included in other projects

I have a little specific concern, I hope you can help me, I have to develop an application in PHP that doesn't need to be linked to the exclusive use of its installation and could be used or "included" in other projects of PHP, I mean, to develop a web application (such as generation of a graph according to certain parameters passed) that can be used on different pages created for example in phpBB, Drupal, Dreamweaver or PHP Frameworks like CodeIgniter and Zend.
The best example of what I mean is "Google Charts Tools", you just print in the browser the access to the tool with the parameters and the tool does the rest, and this does not depend on the type of framework with which the home page was created.
In short, I'm looking for a framework or lightweight framework with which I can develop an application that simply could be called in an include() or require() on the destination page and can be used, a framework that can somehow "export" the project or application and could be used on one page without having to reinstall the framework on the target server, even the libraries could be included in the target page so you can run the application.
Was working with Codeigniter and tried to attach to a Joomla page but i couldn't because Codeigniter is linked to the URL of the page and I dont want to use Iframes.
Is there something like that?
First of all; I believe you would need some custimization, as frameworks just aren't build that way. But it isn't impossible. In Kohana for example (also codeigniter, but kohana is more flexible), you can build internal requests with Request::factory($uri). If you can find out a way to bypass direct access to index.php, or build a wrapper after which you can do stuff in the Kohana 'environment' you could do it. I don't have a ready-to-use solution, but if you try something and post the code we might be able to help you out some more!
Sounds to me like you want to write a library or class that can do certain things and which can be reused in other code. You can then build an example application around it, using a framework, which uses this library.
If you start with a whole framework, this often makes it really hard to reuse any part of the code, since the framework has certain assumptions or requirements which may not always be true for other projects. As a general rule: a framework is already a complete standalone application. What you want is something smaller than that.
Of course, you can have a look at a framework like Zend, which is basically just a loose collection of individual classes. Together they form a framework, but each part of it is individually usable. Something like CI is on the other end of the spectrum, much more heavily coupled and interdependent.

Categories