Suche senden
Hochladen
Writing Friendly libraries for CodeIgniter
•
Als PPT, PDF herunterladen
•
0 gefällt mir
•
1,279 views
C
CodeIgniter Conference
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 64
Jetzt herunterladen
Empfohlen
Modern Perl
Modern Perl
Marcos Rebelo
Evolving Software with Moose
Evolving Software with Moose
Dave Cross
Zendcon 2007 Features
Zendcon 2007 Features
fivespeed5
Hack in the Box Keynote 2006
Hack in the Box Keynote 2006
Mark Curphey
PHP Basics and Demo HackU
PHP Basics and Demo HackU
Anshu Prateek
Php
Php
mohamed ashraf
An introduction to Rex - FLOSS UK DevOps York 2015
An introduction to Rex - FLOSS UK DevOps York 2015
Andy Beverley
Good Evils In Perl
Good Evils In Perl
Kang-min Liu
Empfohlen
Modern Perl
Modern Perl
Marcos Rebelo
Evolving Software with Moose
Evolving Software with Moose
Dave Cross
Zendcon 2007 Features
Zendcon 2007 Features
fivespeed5
Hack in the Box Keynote 2006
Hack in the Box Keynote 2006
Mark Curphey
PHP Basics and Demo HackU
PHP Basics and Demo HackU
Anshu Prateek
Php
Php
mohamed ashraf
An introduction to Rex - FLOSS UK DevOps York 2015
An introduction to Rex - FLOSS UK DevOps York 2015
Andy Beverley
Good Evils In Perl
Good Evils In Perl
Kang-min Liu
Perl.Hacks.On.Vim
Perl.Hacks.On.Vim
Lin Yo-An
Using PHP
Using PHP
Mark Casias
Intermediate PHP
Intermediate PHP
Bradley Holt
Ruby 2.0
Ruby 2.0
Uģis Ozols
PHP for hacks
PHP for hacks
Tom Praison Praison
Hardcore PHP
Hardcore PHP
Roberto Luis Bisbé
Introduction to Perl - Day 1
Introduction to Perl - Day 1
Dave Cross
Phphacku iitd
Phphacku iitd
Sorabh Jain
Improving Dev Assistant
Improving Dev Assistant
Dave Cross
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards
Denis Ristic
Sa
Sa
sahul azzez m.i
PerlDancer for Perlers (FOSDEM 2011)
PerlDancer for Perlers (FOSDEM 2011)
xSawyer
Dancer's Ecosystem
Dancer's Ecosystem
Alexis Sukrieh
Cakefest 2010: API Development
Cakefest 2010: API Development
Andrew Curioso
Creating own language made easy
Creating own language made easy
Ingvar Stepanyan
Perl Basics for Pentesters Part 1
Perl Basics for Pentesters Part 1
n|u - The Open Security Community
Php mysql
Php mysql
Manish Jain
Writing webapps with Perl Dancer
Writing webapps with Perl Dancer
Alexis Sukrieh
Advanced Perl Techniques
Advanced Perl Techniques
Dave Cross
Introduction to PHP Lecture 1
Introduction to PHP Lecture 1
Ajay Khatri
What's new, what's hot in PHP 5.3
What's new, what's hot in PHP 5.3
Jeremy Coates
Perl Moderno
Perl Moderno
Tiago Peczenyj
Weitere ähnliche Inhalte
Was ist angesagt?
Perl.Hacks.On.Vim
Perl.Hacks.On.Vim
Lin Yo-An
Using PHP
Using PHP
Mark Casias
Intermediate PHP
Intermediate PHP
Bradley Holt
Ruby 2.0
Ruby 2.0
Uģis Ozols
PHP for hacks
PHP for hacks
Tom Praison Praison
Hardcore PHP
Hardcore PHP
Roberto Luis Bisbé
Introduction to Perl - Day 1
Introduction to Perl - Day 1
Dave Cross
Phphacku iitd
Phphacku iitd
Sorabh Jain
Improving Dev Assistant
Improving Dev Assistant
Dave Cross
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards
Denis Ristic
Sa
Sa
sahul azzez m.i
PerlDancer for Perlers (FOSDEM 2011)
PerlDancer for Perlers (FOSDEM 2011)
xSawyer
Dancer's Ecosystem
Dancer's Ecosystem
Alexis Sukrieh
Cakefest 2010: API Development
Cakefest 2010: API Development
Andrew Curioso
Creating own language made easy
Creating own language made easy
Ingvar Stepanyan
Perl Basics for Pentesters Part 1
Perl Basics for Pentesters Part 1
n|u - The Open Security Community
Php mysql
Php mysql
Manish Jain
Writing webapps with Perl Dancer
Writing webapps with Perl Dancer
Alexis Sukrieh
Advanced Perl Techniques
Advanced Perl Techniques
Dave Cross
Introduction to PHP Lecture 1
Introduction to PHP Lecture 1
Ajay Khatri
Was ist angesagt?
(20)
Perl.Hacks.On.Vim
Perl.Hacks.On.Vim
Using PHP
Using PHP
Intermediate PHP
Intermediate PHP
Ruby 2.0
Ruby 2.0
PHP for hacks
PHP for hacks
Hardcore PHP
Hardcore PHP
Introduction to Perl - Day 1
Introduction to Perl - Day 1
Phphacku iitd
Phphacku iitd
Improving Dev Assistant
Improving Dev Assistant
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards
Sa
Sa
PerlDancer for Perlers (FOSDEM 2011)
PerlDancer for Perlers (FOSDEM 2011)
Dancer's Ecosystem
Dancer's Ecosystem
Cakefest 2010: API Development
Cakefest 2010: API Development
Creating own language made easy
Creating own language made easy
Perl Basics for Pentesters Part 1
Perl Basics for Pentesters Part 1
Php mysql
Php mysql
Writing webapps with Perl Dancer
Writing webapps with Perl Dancer
Advanced Perl Techniques
Advanced Perl Techniques
Introduction to PHP Lecture 1
Introduction to PHP Lecture 1
Ähnlich wie Writing Friendly libraries for CodeIgniter
What's new, what's hot in PHP 5.3
What's new, what's hot in PHP 5.3
Jeremy Coates
Perl Moderno
Perl Moderno
Tiago Peczenyj
PHP and Rich Internet Applications
PHP and Rich Internet Applications
elliando dias
PHP: The easiest language to learn.
PHP: The easiest language to learn.
Binny V A
Perl Presentation
Perl Presentation
Sopan Shewale
PHP
PHP
webhostingguy
Introduction to PHP
Introduction to PHP
Jussi Pohjolainen
Introduction to Perl
Introduction to Perl
Dave Cross
Using Geeklog as a Web Application Framework
Using Geeklog as a Web Application Framework
Dirk Haun
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Michael Wales
Going crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHP
Mariano Iglesias
P H P Part I I, By Kian
P H P Part I I, By Kian
phelios
Cleancode
Cleancode
hendrikvb
Perl Introduction
Perl Introduction
Marcos Rebelo
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
webhostingguy
Php hacku
Php hacku
Tom Praison Praison
Php mysql ppt
Php mysql ppt
Karmatechnologies Pvt. Ltd.
PHP MySQL
PHP MySQL
Md. Sirajus Salayhin
Bioinformatica 10-11-2011-p6-bioperl
Bioinformatica 10-11-2011-p6-bioperl
Prof. Wim Van Criekinge
How to learn to build your own PHP framework
How to learn to build your own PHP framework
Dinh Pham
Ähnlich wie Writing Friendly libraries for CodeIgniter
(20)
What's new, what's hot in PHP 5.3
What's new, what's hot in PHP 5.3
Perl Moderno
Perl Moderno
PHP and Rich Internet Applications
PHP and Rich Internet Applications
PHP: The easiest language to learn.
PHP: The easiest language to learn.
Perl Presentation
Perl Presentation
PHP
PHP
Introduction to PHP
Introduction to PHP
Introduction to Perl
Introduction to Perl
Using Geeklog as a Web Application Framework
Using Geeklog as a Web Application Framework
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Introduction to CodeIgniter (RefreshAugusta, 20 May 2009)
Going crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHP
P H P Part I I, By Kian
P H P Part I I, By Kian
Cleancode
Cleancode
Perl Introduction
Perl Introduction
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
Php hacku
Php hacku
Php mysql ppt
Php mysql ppt
PHP MySQL
PHP MySQL
Bioinformatica 10-11-2011-p6-bioperl
Bioinformatica 10-11-2011-p6-bioperl
How to learn to build your own PHP framework
How to learn to build your own PHP framework
Kürzlich hochgeladen
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
LoriGlavin3
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Rick Flair
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
Ravi Sanghani
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
Skynet Technologies
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Kari Kakkonen
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
Wes McKinney
A Framework for Development in the AI Age
A Framework for Development in the AI Age
Cprime
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Pim van der Noll
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Inflectra
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
Farhan Tariq
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
IES VE
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
panagenda
Kürzlich hochgeladen
(20)
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
A Framework for Development in the AI Age
A Framework for Development in the AI Age
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Writing Friendly libraries for CodeIgniter
1.
Writing Friendly Libraries
@seejohnrun
2.
$CI =& get_instance();
3.
4.
reactor
5.
6.
7.
getsparks.org
8.
getsparks.org 76 sparks
> 16,000 installs
9.
getsparks.org katzgrau/getsparks.org seejohnrun/sparks
10.
getsparks.org great for
internal distribution as well
11.
libraries!!!
12.
rails huge library
community centering on rubygems
13.
rails 40 direct
100 total
14.
is it bad?
15.
nah...
16.
let’s share!
17.
18.
19.
test ed
20.
test able
21.
reduce coupling
22.
23.
nice_http http library
easily mock web requests
24.
25.
26.
versioned
27.
0.6.3
28.
0.6. 3 patch
version backwards-compatible bug fixes
29.
0. 6 .3
minor version backwards-compatible public functionality
30.
0 .6.3 major
version backwards-incompatible public functionality
31.
32.
33.
documented
34.
externally PHPDoc
35.
externally visibility
36.
internally PHPDoc
37.
internally comments
38.
39.
40.
adaptable
41.
OO
42.
<?php $cache ->
set ( 'name' , 'john' ); $cache -> get ( 'name' );
43.
44.
namespaced
45.
46.
tip: use
your library before you write it
47.
tip: have
someone else read your fake code
48.
tip: don’t
be lazy. skip out on the shady code
49.
tip: confusing
code doesn’t make you look cool
50.
tip: pull
requests are free code lessons
51.
52.
53.
no more long
library files
54.
use config <?php
$this -> load -> library ( 'fun' , array ( 'some' => 'option' )); <?php class Fun { public function __construct ( $params = array ()) { $this -> option = array_key_exists ( $params , 'some' ) ? $params [ 'some' ] : 'default' ; } }
55.
use config <?php
$this -> load -> library ( 'fun' , array ( 'some' => 'option' )); <?php class Fun { public function __construct ( $params = array ()) { $this -> option = isset ( $params[ 'some' ] ) ? $params [ 'some' ] : 'default' ; } }
56.
use config <?php
$CI = &get_instance(); $CI -> config -> item ( 'fun' );
57.
use lang <?php
$CI = &get_instance(); $CI -> lang -> line ( 'key' );
58.
don’t artificially restrict
yourself config/ helpers/ language/ libraries/ models/ views!!!
59.
tip: stop
coding libraries for php4
60.
61.
62.
tip: don’t
be a downer
63.
tip: go
make and share something amazing
64.
@seejohnrun @getsparks @getsparks
Jetzt herunterladen