slimphp / Slim

Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.
http://slimframework.com
MIT License
11.96k stars 1.95k forks source link

Documentation is awesome, tutorials are lacking #656

Closed jeremykendall closed 6 years ago

jeremykendall commented 10 years ago

The Slim documentation is excellent, but there's a large gap between the documentation and tutorials answering the question, "How do I get started?". The Slim Skeleton is a great way to get up and running, but still doesn't help with "Where do I go from here?"

@codeguy proposed the idea that a series of tutorials are in order. This issue is to propose, brainstorm, and track tutorial ideas.

erizocosmico commented 10 years ago

Maybe some tutorials about how to actually build something you can use like a simple blog, a simple twitter clone or something like that.

tuupola commented 10 years ago

Good idea. You could also link to tutorials and articles on blogs.

jeremykendall commented 10 years ago

@tuupola :+1:

Creating a page with links to vetted tutorials sounds like a great idea, and a great way to get this kicked off w/o having to write tons of new content.

tuupola commented 10 years ago

Now I have a good excuse to start blogging again ;)

silentworks commented 10 years ago

@johnhunt that wasn't very useful, the point of this ticket is to talk about the kind of tutorials you would like to see.

silentworks commented 10 years ago

I will start writing up some tutorials of using Slim with JS Frameworks, I have been using it extensively with AngularJS and have a lot to share. I will try and create a few stubs and run them by the rest of the team.

codeguy commented 10 years ago

@silentworks Don't feed the trolls

lornajane commented 10 years ago

I'd like to help! I'm using Slim for RESTful APIs so I'd be happy to contribute something on that. Also there's an open source project that uses it with twig ... not really a tutorial but maybe being able to look around a working application would also help those just getting started? It's here: https://github.com/joindin/joindin-web2 (we might not be doing things "right" but it does work and we like Slim!)

I also wrote about a middleware recently, which might be worth including if you're looking for existing material to get started with? http://www.lornajane.net/posts/2013/oauth-middleware-for-slim

codeguy commented 10 years ago

@lornajane Thanks! Very useful.

leeDav commented 10 years ago

I'd like to see tutorials about file/folder structure. I come from a full-stack framework background (CodeIgniter) and with that everything is created for me and there's no thought about where controllers, models, or views go.

As I'm trying to break out of this, it'd be great to have some "best practices", "recommendations", or even just some helpful pointers about how to structure code and files :)

It'd be really helpful -- for me, at least! -- to have a little nudge in the right direction.

jeremykendall commented 10 years ago

@leeDav Not a tutorial, but a tip: I put all of my application code in src/ in the root of my project: https://github.com/jeremykendall/flaming-archer/tree/develop/src. I comply with PSR-0, so I can easily autoload those classes using Composer. You can experiment in there with directory structure all you like, while keeping the app root clean.

petarov commented 10 years ago

For a start, a list of OSS projects that are using Slim would be great. Maybe in the README file or somewhere else? IMO, learning from code is also a great option.

revuls commented 10 years ago

@leeDav @jeremykendall I've created a MVC structure with Slim that I use in my projects https://github.com/revuls/SlimMVC

Thanks @lornajane. That middleware looks great. I know that there are many tutorials of middleware but would be great to have a repository of middleware classes.

I would love to see some tutorials of Slim using different ORMs (Doctrine, Propel, etc...).

Thanks guys for your hard work.

silentworks commented 10 years ago

@revuls thanks for that, we are working on a Slim addons listing directory at the moment, where all middleware, loggers, views and anything Slim related will be listed.

tuupola commented 10 years ago

@silentworks speaking of addons. Is there preferred naming scheme for third party stuff? For example if I was to create a middleware called Foo, should it be called \Tuupola\Middleware\Foo?

silentworks commented 10 years ago

@tuupola I replied on that other ticket, but just to have a reference here, its best to create your own namespace as you have done in that example. Whenever creating addons, its best to not pollute the \Slim\Middleware namespace or any of the other \Slim related namespace.

ijy commented 10 years ago

For me the next step was figuring out how to add a little more structure to my app. Slim is obviously intended to be lightweight and primarily based around routing but sometimes your app needs to expand and you start wanting to better organise your code so the logic isn't intertwined with the routing. There's not a lot of guidance at that point.

erizocosmico commented 10 years ago

@ijy I'd like to see some guidance at that point too.

lalop commented 10 years ago

I've used a lot of frameworks that gives me the way to structure my code. What I like in Slim is that I can do the things in my way. I see Slim like a router library more than a framework, so my applications isn't structured around Slim. I think some examples can be a good things to help starting with Slim but is not a requirement, orm library doesn't give code structure isn't it ?

DavidePastore commented 10 years ago

I can help to create a simple tutorial to create an application that uses Slim, Twig, Idiorm and Paris. In the future it will also integrate an API for communications.

lalop commented 10 years ago

I wrote an asset management library that I use with Slim, it's a pre-beta version but I have to write some doc and I could make a slim tutorial too. You can find it here https://github.com/lalop/aphet

ecoreng commented 9 years ago

I collected some of the stuff you guys linked here + links posted by the twitter account "SlimPHP" + some stuff I know existed and some blog posts into this repository

https://github.com/ecoreng/Slim-Resources

I dont have any plans for that information but to remain as a reference, if someone wants to create and maintan a real "library" with this information feel free to do it.

If you have something you want added or modified, send a PR.

tuupola commented 9 years ago

@ecoreng I like the idea of curated list of Slim resources. Will submit PR's if I find something new worth mentioning.

HamptonNorth commented 9 years ago

I'm a beginner/intermediate developer. There is a lack of tutorials aimed at beginners. I'd like to fill that gap with a tutorial series aimed at 3.0

Suggested content - opens *.pdf

I'd like to partner with experience developer. I produce, they polish/correct my code to ensure quality tutorials.

Anyone interested in partnering in the code review role?

xssc commented 8 years ago

I started working on a Awesome-List here: https://github.com/xssc/awesome-slim, then found this; get a few more resources and a couple stars and should be able to get it on https://github.com/sindresorhus/awesome

geniuscd commented 8 years ago

I'd like to see the oauth 2.0 integration. I've been working on a slim 3 middleware for oauth 2.0, but i cant figure out how to integrate.. maybe i can create a new repo in my github account and start all over again. i think if someone is using Slim 3 to build a restful service that he "won't hate" :P would appreciate this middleware. no?

dmbaye commented 6 years ago

If video tutorial is your thing, this youtube channel is awesome place to learn about slim https://www.youtube.com/codecourse.

akrabat commented 6 years ago

As we now have a getting started tutorial and cookbook examples, I'm closing this.

More tutorials and docs are always welcome though!