Looking to get into Coding, etc, so I can Custom design add-ons for my site. Any suggestions on how i can start to learn this Process?

oO5 Dynasty

Well-known member
So I would like to learn how to code/ develop add-ons for my site instead of pay a lot of money for others to create custom work. Any information would be helpful, in order for me to take on line classes or even free tutorials on how to become a developer. Since their are tons of add-on developers on this site, Im just looking for any good information to help a noob start his way in the coding biz.
 

It's may be the first time they've had docs on creating add-ons but I wish someone would make a tutorial in the development 2.x.x tutorial section. There were plenty for XF1 but I guess it contradicts itself to learn by watching those videos/tutorials. There's next to nothing in the section. Surprising since XF2 has been out for near 6 months. I wish there was more to read. I'm a good reader and a fast learner but the resources are slim. OO PHP doesn't seem that hard a concept to grasp though. I've been reading quick scripting references as well as other books but it's hard to get started in my opinion.
 
I don't know how far you are, but

  1. First you should learn PHP (and maybe the (My)SQL Basics).
  2. Then you should learn OOP in PHP (there are many tutorials out there).
  3. Then read the XF2 Dev Docs at least one time and follow the creation of the example addon. Also look at the XF2 Source Code and try to understand how things work.
Maybe also helpful is playing around with laravel: Concepts are very similar and there are tons of tutorials and scrrencasts out therre, e.g. www.laracasts.com

Good luck!
 
All of the above are good answers. Laracasts is fantastic. You'll need to learn OOP as well as the specifics of XF2.

Get yourself a good editor that does completion. PhpStorm is a great learning tool as well as an editor. It'll help you read the XF code, too.

Expect pitfalls. This is the piece of advice I didn't plan on when starting to learn PHP. It's all about dedicating time and not worrying about a deadline. It's taken me years to get comfortable enough to post, "I have no idea."

Next, take plenty of notes. Keep a journal. Seriously. It'll help.

The last piece of advice: there is more than one way to solve a problem. Don't copy other people's solutions and instead work through the purpose of each line of code.

Good luck.
 
All of the above are good answers. Laracasts is fantastic. You'll need to learn OOP as well as the specifics of XF2.

Get yourself a good editor that does completion. PhpStorm is a great learning tool as well as an editor. It'll help you read the XF code, too.

Expect pitfalls. This is the piece of advice I didn't plan on when starting to learn PHP. It's all about dedicating time and not worrying about a deadline. It's taken me years to get comfortable enough to post, "I have no idea."

Next, take plenty of notes. Keep a journal. Seriously. It'll help.

The last piece of advice: there is more than one way to solve a problem. Don't copy other people's solutions and instead work through the purpose of each line of code.

Good luck.

I've actually learned a lot so far from the Docs. A lot of what I'm learning is from reading the source code like @S Thomas had said. I didn't know how helpful the source code was until I started trying to create my first add-on. I still have a ways to go but it's not as hard as I would think at the moment in my personal opinion. The dev docs help a ton. I hope to release this add-on as a free add-on soon. It's for most users ever online. It may be a while because I want to give more options and have it fully permissioned... etc but I hope to release it after a while. I was working on the controller part today getting the view to show up under the widget_members_online and I was frustrated at first because I couldn't get it but sure enough a while later I got it to work. I even found the correct files to class proxy which is "src\XF\Widget\MembersOnline" and "src\XF\Repository\SessionActivity.php".

I'm currently working on the back-end part right now which seems to be a lot easier than the view controller. But yes great advice @LPH
 
Top Bottom